【问题标题】:Couldn't find Item with 'id'=; Destroy action找不到带有 'id'= 的项目;破坏行动
【发布时间】:2016-10-29 17:38:32
【问题描述】:

我需要自定义我的控制器,所以我这样做了:

路线:

post    'add_item', to: 'walls#create'
delete  'remove_item', to: 'walls#destroy'

销毁动作 WallsController:

def destroy
  @item = Item.find params[:id]
  @item.destroy
  redirect_to :back
end

查看:

<% @items.each do |item| %>
  <%= item.name %> <%= link_to "X", remove_item_path(item), method: :delete %>
<% end %>

创建操作工作正常,但销毁操作仍然出错:Couldn't find Item with 'id'=

非常感谢您的帮助

【问题讨论】:

    标签: ruby-on-rails controller destroy


    【解决方案1】:

    remove_item_path 需要一个项目 ID 作为参数。

    link_to "X", remove_item_path(item.id), method: :delete
    

    【讨论】:

    • 是的,我试过了,但我仍然遇到同样的错误
    【解决方案2】:

    这行得通:

    link_to "X", remove_item_path(id: item.id), method: :delete
    

    【讨论】:

      猜你喜欢
      • 2015-10-05
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多