我有一个奇异的模型,控制器,名为" product"的视图。在我的路线中,我使用了activemodel,所以没有复数。
resource :product, :controller => 'product'
当我使用form_for时:
<%= form_for( @product) do |f| %>
但是我收到以下错误:
undefined method `products_path'
我该如何解决这个问题?它应该是product_path。
答案 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