###前提・実現したいこと
indexのページにTableがあり、そこにずらっとデータがリストされています。
右端にCheckBoxを用意し、そこのCheckBoxにCheckを入れると、AjaxでTrueがPostされ、Checkを外しとFalseがPostされるようにしたいと思っています。
indexのURL localhost:3000/company/2/user_lists
<input type="checkbox" name="config_ids[]" id="config_id_7" value="7" data-user-id="7" data-company-id="2" class="config_check" />
色々工夫して、上記のようなURLを生成することに成功したのですが、ここからJavascriptで、user_list_controllerのtoggleメソッドにアクセスしたいのですが、うまいようにURLを設定することができていません。雰囲気的にはなんとなく理解しているのですが、どのように該当するIDを取得して、それをコントローラに入れることができるのか、教えてください。
$(".config_check").bind('change', function(){ var id = $('this').data('user_id'); var company_id = $('this').data('company_id'); if (this.checked){ var bool = this.checked ? 1 : 0; $.ajax({ url: '/company/'+company_id+'/user_list/'+id +'/toggle', type: 'POST', data: '{"user_id":"'+ this.value +'", "bool":"'+ bool +'"}' }); } else { alert("できていないよ"); } });
Controller def toggle @user = User.find(params[:id]) if params[:config] == nil @user.update(:config => false) else @user.update(:config => params[:config]) end end
###補足情報(言語/FW/ツール等のバージョンなど)
Javascript
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/06 01:57
2017/09/06 02:49