【发布时间】:2017-02-07 23:00:49
【问题描述】:
我的路线设置如下:
resources :projects do
resources :project_factors, as: factors
end
我喜欢as: :factors,所以路线变成:
project_factor_path(@project, @project_factor)
而不是
project_project_factor_path(@project, @project_factor)
但我无法让form_for 生成正确的路线。
form_for [@project, @project_factor] 失败(如预期),因为它尝试使用project_project_factor_path,所以我尝试了:
form_for [@project, @project_factor], as: :factor
但这会失败并出现完全相同的错误。
有没有办法让 rails 在此处生成正确的路径,而无需为创建和更新案例显式设置正确的 url 参数?
【问题讨论】:
-
上一个问题:stackoverflow.com/questions/10906793/… 似乎表明如果您在类名上使用命名空间,它可能会干扰从对象自动生成您的路线...您是否命名了您的项目因素类类似于:
Project::ProjectFactor??? -
不,刚刚命名为 ProjectFactor:
class ProjectFactor < Factor