【发布时间】:2012-03-31 09:55:49
【问题描述】:
所以我有一个 ChatsController,并且从我的索引操作中,我试图重定向到一个自定义操作,“决定”:
def index
@chat = Chat.customfind(params[:search])
if(@chat.is_a?(Array))
session[:chats] = @chat
redirect_to :action => 'decide'
else
respond_to do |format|
format.html { redirect_to @chat if !@chat.nil? }
end
end
def decide
@chats = session[:chats]
@choice = Chat.find(params[:id])
redirect_to @choice if !@choice.nil?
end
..where @choice 将由决定页面上的表单参数决定。但是由于某种原因,Rails 并没有重定向来决定,而是重定向到显示:
Started GET "/chats/decide" for 127.0.0.1 at 2012-03-14 17:13:36 -0400
Processing by ChatsController#show as HTML
Parameters: {"id"=>"decide"}
..............
谁能解释一下如何解决这个问题?
编辑: 我假设这就是你想要的......我的 routes.rb 的相关部分:
match "chats/decide" => "chats#decide"
resources :chats do
member do
post 'send_message'
end
end
get "chats/logout"
..是的,这有点大杂烩:/
【问题讨论】:
-
显示你的 routes.rb 文件
-
你想让
/chats/decide/:id工作吗?
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 redirecttoaction