REST风格的路线增加新的岗位方法

问题描述:

我的路线文件看起来像这样一个与我的新宁静后行动:REST风格的路线增加新的岗位方法

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 

我怎样才能做到这一点?

在我看来,你的链接设置为一个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方法。

+0

我试着用GET方法...但它是相同的:(... 我想我需要改变我的路由中的某些内容:S –

尝试使用其他途径,如:

resources :projects do 
member do 
    post 'addpartner' 
end 
end 

或者,也许:

resources :projects do 
collection do 
    post 'addpartner' 
end 
end