html - 没有路由匹配缺少所需的键 : [:id]

标签 html ruby-on-rails ruby path routes

我是 Rails 的新手,我似乎遇到过类似的问题,但我无法解决我的问题。

我的路线:

resources :users do
    resources :items
end

我的模型:

class Item < ActiveRecord::Base
  belongs_to :user
end

class User < ActiveRecord::Base
   has_many :items
end

HTML:

<% @items.each do |item| %>
<tr>
  <td><%= item.id %></td>
  <td><%= item.code %></td>
  <td><%= item.name %></td>
  <td><%= item.quantity %></td>
  <td><%= link_to "Edit", edit_user_item_path(item) %></td>  <---- error

我遇到了同样的错误:

No route matches {:action=>"edit", :controller=>"items", 
:user_id=>#<Item id: 1, user_id: 1, code: "123", name: "test", 
quantity: 12, , created_at: "2014-02-11 15:45:30", updated_at:
"2014-02-11 15:45:30">, :id=>nil, :format=>nil} missing required keys: [:id]

最佳答案

您还需要包括用户,因为它是一个嵌套路由。所以像这样:

<td><%= link_to "Edit", edit_user_item_path(@user, item) %></td>

关于html - 没有路由匹配缺少所需的键 : [:id],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21708256/

相关文章:

javascript - 我想知道 js fiddle 如何处理有关调整大小和布局的文本区域

javascript - XML解析远程服务器

javascript - 是否有可能在文本编辑器中为 Rails 应用程序自动完成,而不仅仅是文本字段

ruby-on-rails - 我可以将 IP 地址存储为整数吗?

Ruby Watir Selenium WebDriver depricated 警告

ruby-on-rails - Ruby 和 RoR 项目倾向于使用 Sass 而不是 LESS 的原因是什么?

html - 在我的 SharePoint 母版页中显示当前年份

php - 动态站点,使用 include 获取特定 div 中的内容,怎么样?

javascript - 在基本 Rails 4 应用程序中开始使用 d3.js 的挑战

ruby - 使用 AWS Lambda 在 Ruby 中获取事件主体属性