我的路线文件看起来就像这个新的宁静后期行动:
resources :projects do
post 'addpartner'
end
在我看来:
<%= link_to '[Add]', project_addpartner_url(@project,partner) ,
confirm: 'Are you sure?',
method: :post %>
现在问题是project_addpartner_url生成具有默认格式的路径。对于我的情况,它是这样的:
/projects/1/addpartner.16
但我期望的格式是:
/projects/1/addpartner/16
我怎样才能做到这一点?
答案 0 :(得分:1)
在我看来,你的链接被设置为GET方法,这就是你得到的原因
/projects/1/addpartner.16
但你想要的方式似乎是GET
/projects/1/addpartner/16
因此,请尝试将链接更改为
<%= link_to '[Add]', project_addpartner_url(@project,partner) ,
confirm: 'Are you sure?',
method: :get %>
但通常添加/更新/删除应该是POST方法。
答案 1 :(得分:1)
尝试使用其他路线,例如:
resources :projects do
member do
post 'addpartner'
end
end
或者,也许:
resources :projects do
collection do
post 'addpartner'
end
end