2

Rails 3.2.11 のチェックボックスを使用して ajax でデータを渡す方法を理解しようとしています。私の見解には次の行があります

<%= check_box_tag(
        "institution_ids_#{inst.name.gsub(" ", "")}",
          inst.id,
          false,
        data: {
          remote: true,
          institution_id: inst.id}) %>

チェックボックスのステータスを変更すると、コントローラーが正しく呼び出されていることがわかります(具体的には、コントローラーのインデックスメソッドです。これは、私がいるビューであるため、必要なものです)。コントローラーの params ハッシュからinstitution_id 変数にアクセスします。チェックボックス内でビューからコントローラにデータを渡すために ajax を使用する方法を説明してください。remote: true 関数は、設定した追加のパラメーターを使用してコントローラーを正しく呼び出すと思いました (そうではありません)。

4

1 に答える 1

5

jqueryを使ってAjax電話をかけてみませんか。

<%= check_box_tag( "institution_ids_#{inst.name.gsub(" ", "")}", inst.id, false %>

<script>
     $('#checkbox_id').change(function(){
        $.get('controller/action?inst_id='+$(this).val(), function(data,status){
            if(status == 'success'){
              alert(data)
             }
        })
     })
   </script>

コントローラーで:

def action
   inst_id = params[:inst_id]
   #do something
   render :text => "success" 
end
于 2013-02-08T20:55:20.760 に答える