2016-01-29 81 views
2

我有一個單獨的模型,控制器,名爲「產品」的視圖。在我的路線中,我使用了activemodel,所以沒有多元化。奇異模型,控制器,Form_for參考

路線:

resource :product, :controller => 'product' 

當我使用的form_for:

<%= form_for(@product) do |f| %> 

,但我得到了以下錯誤:

undefined method `products_path' 

我該如何解決這個問題?它應該是product_path。

回答

1

我剛找到解決方案。有兩種方法可以做到這一點。

1)將其添加到模型文件中。 model_name.instance_variable_set(:@route_key, 'product')

OR

2)= form_for @product, :url => product_path do |f|

0

一個更好的辦法是使用複數爲您控制器名稱(按照約定),以及奇異的路線

#config/routes.rb 
resource :products, controller: "product", path: "product" #-> url.com/product/:id