【发布时间】:2013-03-16 22:24:15
【问题描述】:
我在控制器中为我的非 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 %>
【问题讨论】:
-
你是如何创建你的路径的?也请复制
rake routes的部分输出。 -
完成,我添加了 rake 路由以及我如何链接它
标签: ruby-on-rails ruby ruby-on-rails-3