我正在尝试为连接表条目设置删除链接。
我有一个@miniatures
模型,通过@lines
联接表has_many @minilines
。
在我的@miniatures
展示页面上,我使用
@lines
<% @miniature.lines.each do |line| %>
<%= link_to line.name, line %>
<% end %>
一切正常。所有关联都正确等等。我要做的是添加一点删除链接。目前如下
<% @miniature.lines.each do |line| %>
<%= link_to line.name, line %>
<%= link_to '<i class="fa fa-times"></i>'.html_safe, miniline_path(:miniature_id => @miniature.id, :line_id => line.id),
:confirm => 'Are you sure?', :method => :delete %><br />
<% end %>
在我的迷你lines_controller中,我有以下销毁行动
def destroy
Miniline.find_by_miniature_id_and_line_id(params[:miniature_id, :line_id]).destroy
flash[:success] = "Miniature removed from product line."
redirect_to :back
end
目前正在返回wrong number of arguments (2 for 1)
。
答案 0 :(得分:1)
如果您的路线和控制器设置正确,您可以在终端中键入rake路线并查看minilines的删除路径。您可以使用路径发送微型和线型。然后在控制器中,而不是通过id查找。你可以做这样的事情MiniLine.find_by_miniature_id_and_line_id(miniature.id,line.id),然后销毁结果。
答案 1 :(得分:0)
您可以使用nested form进行此操作。
<%= f.fields_for :lines, :wrapper => false do |task_form| %>
<tr class="fields">
<td><%= task_form.text_field :name %></td>
<td><%= task_form.link_to_remove "Remove this line" %></td>
</tr>
<% end %>