2011-01-19 2 views
5

私には2つの質問があります。onchange remote_function in rails 3 - それは有効ですか?どうやって邪魔にならないでしょうか?

私はこのようになりますレール3アプリケーションでselectタグがあります。

<%= select(@adverse_event_template_settings, 
    "display_arms", 
    options_for_select([["Yes", true], ["No", false]]), 
    { :selected => :display_arms }, 
    :onchange => remote_function(:update => "display_arms", 
      :method => "put", 
      :with => "'display_arms=' + value", 
      :url => { :controller => :adverse_event_template_settings, 
       :action => :update, :id => @aets.id})) %> 

これは私がそれはつまりDO-したいんが、時に選択ボックスの値の変更コントローラのアクションを呼び出します。

この機能はありますが、私は知りたい1)これはレール3で有効ですか?私はそれが目立つjavascriptだが、レール3で働いているremote_functionは私には奇妙なようだ - ここで何か間違っている?

上記が有効でない場合、私は本当に本当に本当に2)この同じアクション(同じコントローラで同じアクションを呼び出す)を邪魔にならないで行うことができますか?これをレール3で簡単かつきれいに行う方法はありますか?私は必死にこの部分のヘルプをコーディングする必要があります。

ありがとうございました! 詳細が必要な場合はお知らせください。

答えて

7

(私はあなたがjQueryを使用していると仮定します)。

私はjavascriptの部分を.jsファイルに入れ、jQueryを使ってonchangeイベントを管理します。

<%= select(@adverse_event_template_settings, 
    "display_arms", 
    options_for_select([["Yes", true], ["No", false]]), 
    { :selected => :display_arms }) %> 

とJSファイル内:

$(document).ready(function() { 

    $('#display_arms').change(function(){ 
     $.ajax({url: 'YOUR URL', 
     data: 'display_arms=' + value, 
     success: function(data){ 
      $('#display_arms').html(data); 
      } 
     }) 
    }); 
    }); 

(私はこれをテストする時間がなかったが、あなたのアイデアを得る)

正直に言うと、私はありますかわかりませんこの種のものを目立たないようにする方法(または私は興味があります!)。

+1

これは目立たない方法です。 – Confusion

関連する問題