2011-07-25 8 views
4

ためForm_tag私は、コントローラgamesと方法があります:私は私の見解でRailsの - カスタムアクション

def index 

@games = Game.all 

end 

def set_game 

@current_game = Game.find(params[:set_game]) 

end 

<%= form_tag("/games") do %> 
<% @games.each do |g| %> 
<%= radio_button_tag(:game_id, g.id) %> 
<%= label_tag(:game_name, g.name) %><br> 
<% end %> 
<%= submit_tag "Confirm" %> 
<% end %> 

ルート:

resources :games 

    match 'games', :to => 'game#index' 

どのようにすることができますがこのフォームを私のset_gameメソッドで使用できますか?

ありがとうございました。

カスタムルートの例です
+0

:あなたはset_gameアクション用のカスタムルートを作成する場合は、例えば、それはあなたが

<%= form_tag setgame_url %> ... <% end %> 

はあなたがここにカスタムのルートについての詳細を読むことができます行うことができます

その後
match "setgame" => "games#set_game", :as => "setgame" 

だろうより多くの情報が必要になるでしょう。また、フォームが正しく構成されていません。ラベルが入力と一致しません。 – efoo

+0

私はより多くの情報で編集しました。他に何か必要があれば教えてください。 –

+0

"このフォームを私のset_gameメソッドで動作させるにはどうすればいいですか?" - あなたが本当に達成したいことと、set_gameアクションで何をしたいのかは私には分かりません。何をしようとしているのですか? – Svilen

答えて

13
<%= form_tag(set_game_games_path) do %> 
... 
<% end %> 

#routes.rb 
resources :games do 
    collection do 
    get '/set_game', :as => :set_game 
    end 
end 
+0

答えをありがとう。それは私にエラーを与えた。 –

+0

私は答えを更新しました。 –

+0

は 'post'に' get'を変更して動作します。 –