Rails添加链接到另一个模型的编辑属性

时间:2016-10-30 07:55:40

标签: ruby-on-rails

如果我有型号产品和型号类别。

我在产品索引中有一个表格,显示的产品包含以下列:

 <td><%= product.ID %></td>
 <td><%= product.NAME %></td>
 <td><%= product.category.NAME %></td>

它显示的值如下:

1,沙拉,蔬菜

2,苹果,水果

我希望能够点击蔬菜或水果进行编辑。

我试过了:

<td><%= link_to product.category.NAME, [:edit, product.category] %>

这会带我到一个页面

  

类别/ 1 /编辑

返回

  

无法找到带有'ID'=

的产品

相反它应该转到

  

类别/编辑/ 1

在我的路线中,我有:

 match ':controller(/:action(/:ID))', :via => [:get, :post]
 resources :categories

在这种情况下使用的正确语法是什么?

1 个答案:

答案 0 :(得分:1)

要使用修改后的路径调用类别控制器上的编辑操作,请指定控制器,操作和ID值,如下所示:

Xcode-beta can not be opened while it is being updated

link_to帮助器将正确构建路径以匹配<%= link_to product.category.NAME, { controller: :categories, action: :edit, ID: product.category.id } %> 路径并路由到类别控制器的编辑操作而不是产品控制器(假设category.id == 1)