2012-05-08 9 views
2

私は2つの評価オプション(Likes and Stars)を持つウェブサイトを持っていますので、どちらをロードするかを選択するradio_buttonを追加します。Rails Radio_button onchange reload

私は今、このコードを持っている:

<%= radio_button_tag 'receive_updates', 'no', true %> Likes 
<%= radio_button_tag 'receive_updates', 'no', false %> Stars 

RADIO_BUTTON状態が変化した後、私は "のroot_path" にリダイレクトします。

私の質問、私はモデルなし状態の変更後にリダイレクトするにはどうすればよい

  • 好きなものが真か偽かを制御するにはどうすればよいですか?私はこのようにリダイレクトするために何かを発見した

<%= radio_button_tag 'receive_updates', 'no', true , :on_change => root_path%> Likes 

が、これon_changeが動作しません。

答えて

4

ないあなたがここで何をしたいのかの確認はなく、Javascriptを使用して、あなたが「のonchange」イベントは、次のように呼び出されたときのparamsを渡す/リダイレクトすることができます

<%= radio_button_tag 'receive_updates', 'likes', false %> Likes 
<%= radio_button_tag 'receive_updates', 'stars', false %> Stars 

<script > 
    $(function(){ 
     $("input[name=receive_updates]").change(function(){ 
      var root_path = "<%= root_path %>" 
      var url = root_path + "?receive_updates=" + $(this).val(); 
      window.location.replace(url); 
     }); 
    }); 
</script> 
+0

そして、どのように私は、現在の状態を保存することができ、さそれをアプリケーションコントローラに保存する可能性はありますか? – Lailo

+0

ここで説明するように、セッションストレージを使用できます:http://guides.rubyonrails.org/action_controller_overview.html#accessing-the-session – ccyrille

+0

ルートコントローラでは、次のように表示されます:session [:receive_updates] = params [ :receive_updates]がparams [:receive_updates] 'で、ビュー '%%radio_button_tag' receive_updates '、' likes '、セッション[:receive_updates] ==' likes '%>好き' – ccyrille