我无法弄清楚为什么这条路线不起作用。我已经定义了它,它似乎无处不在,除了在浏览器中。我已附上相关信息的截图。
reports_path的路由在浏览器中显示为undefined,但在其他任何地方它似乎都在工作。可能导致这种情况的原因是什么?
答案 0 :(得分:1)
在您的路线文件中,尝试将as: :reports_path
更改为as: :reports
,否则我认为您需要在视图中使用reports_path_path
。
答案 1 :(得分:1)
rake路线显示reports_path
,在命名路线时不要使用path
,还有一个路径为reports_selling_agent_performance_path
,请删除path
。
在这种情况下:
match 'reports', to: 'reports#index', as: :reports
或
match 'reports', to: 'reports#index'
也可以工作,只有当你想重命名代码中使用的路径名时才使用as:
键,例如:
match 'my_long_very_long_reports', to: 'reports#index', as: :reports
您将在代码中使用reports_path
而不是my_long_very_long_reports_path
。或者在您使用:id
或其他人的密钥的情况下:
match 'my_reports/:id', to: 'reports#index', as: :reports
其中:id
将是用户的ID,例如您将发送为params [:id]