我有一个特定的路径助手,它在rails 2.3中完美运行但在rails 3.1上抛出错误。
这是路径助手。
shipping_price_store_return_path(store)
当我在rails 3.1中使用它时,它给出了错误说
NoMethodError: undefined method `shipping_price_store_return_path' for #<ActionDispatch::Integration::Session:0x007fb2da730228>
当我运行rake路线时这是shipping_price_store_return_index /stores/:store_id/return/shipping_price(.:format) {:action=>"shipping_price", :controller=>"return"}
任何人都可以建议这里可能出现的问题。
以下是路线文件的内容
resources :stores do
resources :return do
match :shipping_price, :on => :collection
end
end
答案 0 :(得分:2)
由于您的资源名称是:return而不是:返回Rails决定将_index添加到嵌套在下面的任何集合。此更改已从rails 3开始完成。
所以新的rails 3路线应该是:
shipping_price_store_return_index_path
如果您想避开_index
,则可以使用resources :returns
,也可以resource :return
。