奇异模型,控制器,Form_for参考

时间:2016-01-29 22:39:39

标签: ruby-on-rails ruby-on-rails-4 form-for

我有一个奇异的模型,控制器,名为" product"的视图。在我的路线中,我使用了activemodel,所以没有复数。

路线:

resource :product, :controller => 'product'

当我使用form_for时:

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

但是我收到以下错误:

undefined method `products_path'

我该如何解决这个问题?它应该是product_path。

2 个答案:

答案 0 :(得分:1)

我刚刚找到了解决方案。有两种方法可以做到这一点。

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

OR

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

答案 1 :(得分:0)

更好的方法是使用复数作为控制器名称(按照惯例),并使用单数作为路径

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