Итак, у меня есть 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
.. где @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"}
..............
Может кто-нибудь объяснить, как это исправить?
Edit:
Я предполагаю, что это то, что вы хотите ... соответствующие части моих маршрутов.rb:
match "chats/decide" => "chats#decide"
resources :chats do
member do
post 'send_message'
end
end
get "chats/logout"
.. да, это немного мешанина: /