我在控制器中为我的非 restfull 操作创建路由时遇到了一些问题,这是我的代码:
控制器:
class StoresController < ApplicationController
def toggle_store
@store=Store.find(params[:store])
if @store.available==true
@store.update_attribute(:available, false)
else
@store.update_attribute(:available, true)
end
redirect_to @store
end
end
路线:
resources :groups do
resources :stores do
member do
post :toggle_store
end
end
end
但是当我在链接中使用路径时,我得到了这个网址:http ://example.com/groups/1/stores/toggle_store.2
我需要这样的东西: http ://example.com/groups/1/stores/2/toggle_store
有任何想法吗?
谢谢
编辑:
耙路线:
toggle_store_group_store POST /groups/:group_id/stores/:id/toggle_store(.:format) stores#toggle_store
关联:
<%=link_to "toggle", toggle_store_group_stores_path(@group,store), :method => :post %>