2015-08-28 157 views
0

我有has_many通過與用戶,附件和表單模型關聯,我只想刪除關聯,而不是附件。我寫了一個名爲 「SIL」Rails通過關聯刪除has_many

user.rb

has_many :forms 
    has_many :attachments, through: :forms 

attachment.rb

has_many :forms 
has_many :users, through: :forms 

form.rb

01刪除方法
belongs_to :user 
belongs_to :attachment 

SIL方法

def sil # remove the product from user 
@user = User.find(params[:id]) 
attachment = Attachment.find(params[:attachid]) 
@user.attachments.delete(attachment) 
redirect_to user_path(@user.id) 
end 

視圖

<%= button_to "Sil",attach ,method: "delete",:controller => "attachments", :action => "sil" , :attachid =>attach.id %> 

我有附件資源路線和我有破壞方法的附件刪除的元素。我需要幫助的視圖和路線SIL方法

回答

1

試試這個:

resources :attachments do 
    member do 
    delete 'sil' 
    end 
end 

路由助手這樣的:

sil_attachment_path(id: attachmentid, user_id: userid) 
+0

我用delete「SIL」,而不是得到的,我必須給像你這樣的路徑參與了嗎? –

+0

你在行動中發現用戶和附件,然後得到你需要通過鏈接傳遞params的記錄,和我一樣。 –

相關問題