두 개의 모델 인 User와 Account는 AccountUsers를 통해 다 대 다 관계가 있습니다. 사용자는 자신의 계정에 다른 사용자를 초대 할 수 있지만 인증 된 사용자가 초대 된 사용자 (또는 공동 작업자)를 제거 할 수 있기를 바랍니다. 사용자 객체가 아닌 조인 테이블의 연관 또는 행 만 삭제하려고합니다. 그리고 어떻게해야하는지 명확히 알지 못합니다. 특히 경로를 설정하고 메소드와 링크를 파괴해야합니다.Rails 3.2가있는 조인 테이블에서 행 제거
는내 방법은 현재 다음과 같습니다
def destroy
@account.users.delete(collaborator)
end
내 링크는 다음과 같습니다 : 내가 직접 @account.users.delete(collaborator)
을 넣어 시도
= link_to "Remove collaborator", collaborator, confirm: "You sure?", :method => :delete
이 현재
undefined method `user_path' for #<#<Class:0x007fe3fc4f2378>:0x007fe3fe718510>
결과 내 link_to에 있지만, 그것을 클릭하기 전에 행을 삭제합니다.
내 노선들은 현재 다음과 같습니다 :이 같은
resources :accounts do
resources :projects
resources :invitations
resources :collaborators, :only => [:index]
end
그리고 내 모델 협회 :
# User
has_many :account_users
has_many :accounts, through: :account_users, :dependent => :destroy
# Account
belongs_to :user
has_many :account_users
has_many :users, through: :account_users
어떻게 그리고 나는 내가 원하는 것을 달성 할 수있을 무엇을해야합니까?
파괴 작업이있는 별도의 컨트롤러 (공동 작업자)가 사용자 컨트롤러에 없습니다.
감사합니다. 이
resources :collaborators, :only => [:index]
을 가지고 있고 또한 계정에 중첩 될 때
같이해야합니까? – Suborx
@Suborx 그것은 인덱스 액션이있는 Collaboratos 컨트롤러에 있습니다. – Anders