我有一个 Rails 应用程序,可让用户注册成为专业会员。如果他们想取消它,可以单击此链接,这会触发 promembers_controller.rb 上的销毁操作
<%= link_to "Cancel my account", promember_path(@user), :data => { :confirm => "Are you sure?" }, :method => :delete, :class => 'btn btn-mini' %>
我试图在两个不同的页面上使用这个链接,它只适用于其中一个,即用户的个人资料页面
http://localhost:3000/lawyer_profiles/22-user-name
但是,我不希望该页面上的取消订阅链接。
如果我将链接放在嵌套 promembers_controller 的“显示”页面上,就像这样
http://localhost:3000/lawyer_profiles/22-user-name/promembers/40
或者如果我把它放在这样的编辑页面上
http://localhost:3000/lawyer_profiles/22-user-name/promembers/37/edit
然后我得到这个路由错误:
No route matches [DELETE] "/promembers"
我不明白为什么只要我有一条路线,我放置该链接的位置就会有所不同,我确实这样做了
resources :promembers do
member { post :update_card }
end
我还有一个名为“销毁”的动作promembers_controller.rb
可能需要注意的是,除了上面显示的未嵌套的 :promembers 资源外,我的 routes.rb 文件还有像这样嵌套的 :promembers 。
resources :lawyer_profiles do
resources :promembers
end
(我不确定嵌套和非嵌套的相同资源是否会影响链接行为。)
您能解释一下为什么链接在嵌套页面中不起作用吗?