我有兩種模型,用戶和帳戶,他們通過AccountUsers有多對多的關係。用戶可以邀請其他用戶訪問其帳戶,但我也希望通過身份驗證的用戶能夠刪除受邀用戶(或合作者)。我只想要關聯或連接表中的行被刪除,而不是用戶對象。我不太清楚如何做到這一點,具體如何設置我的路線,銷燬方法和link_to。使用Rails 3.2刪除連接表中的行
我的方法目前看起來是這樣的:
def destroy
@account.users.delete(collaborator)
end
我的鏈接看起來是這樣的:
= link_to "Remove collaborator", collaborator, confirm: "You sure?", :method => :delete
目前這導致
undefined method `user_path' for #<#<Class:0x007fe3fc4f2378>:0x007fe3fe718510>
我也試圖直接把@account.users.delete(collaborator)
在我的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
如何,我應該怎樣做才能夠達到我想要什麼?
不是我有一個單獨的控制器(協作者),其中我的銷燬行動位於,它不在我的用戶控制器。
謝謝。
在控制器你有沒有破壞作用? – Suborx
@Suborx它位於我的Collaboratos控制器中,我也有索引操作。 – Anders