我有一个应用程序,我变成了一个有很多路线的引擎。我通过Gemfile将引擎添加到主机应用程序,当我运行rake routes
时,一切都正常显示。但是,在视图中,找不到路由导致此错误:
我访问/
并收到以下错误:
No route matches {:controller=>"reports" :action=>"new"}
/Users/username/Sites/engine_app/app/views/home/index.html.erb
中的:
<%= link_to 'New Report', new_report_path %>
rake routes:
...
reports#new new_report GET /:locale/reports/new(.:format)
...
此外,我可以访问/en/reports/new
,它会加载正确的控制器并查看,但会出现另一个路由错误。
对我来说,似乎我可以直接访问任何路线,但应用程序根本无法解析视图中的任何xxx_path。有什么建议吗?
答案 0 :(得分:1)
考虑到缺少有问题的细节,我只能想到你试图从错误的网址访问它。 /:locale/reports/new(.:format)
您可能打开没有区域设置的网址:
localhos:3000/reports/new
但它应该是:
localhos:3000/en/reports/new