2016-10-30 120 views
1

如果我有模型產品和模型類別。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

要調用與修改後的路線類別控制器上編輯操作指定的控制器,操作和ID值,像這樣:

<%= link_to product.category.NAME, { controller: :categories, action: :edit, ID: product.category.id } %> 

的的link_to助手將建立正確的路徑,以匹配category/edit/1路徑和路線到類別控制器而不是產品控制器的編輯操作(假設category.id == 1)

+0

謝謝,但我覺得我的解決方案仍然能回答你的問題 - 以什麼方式呢? - 還有其他一些標準嗎? – David

+0

根據我的示例中的值,您的解決方案顯示1,/ categories/1/edit,vegetable和1,/ categories/2/edit,fruit。在任何情況下,如果我點擊產品/ 1 /編輯沒有任何反應。該鏈接必須顯示類別名稱,當我點擊它將編輯該類別的頁面。 – Catmal

+0

NAME是分類數據庫表中的一列。 – Catmal

相關問題