前提・実現したいこと
rubyのajax通信において、ボタンをクリックしたらその結果に合わせた結果を返したい
発生している問題・エラーメッセージ
結果を取得まではできるのですが、それを部分テンプレートに入れると下記のようなエラーになる
undefined local variable or method `data' for
console.log(data)
としたところ、
0: {id: 1, customer_id: 1, content_id: 1, …} 1: {id: 2, customer_id: 2, content_id: 2, …} length: 2 __proto__: Array(0)
該当のソースコード
Controller
def change inquiries = Inquiry.all if(params[:id] == '1') @inquiries = inquiries.order(visit_date: 'ASC') else @inquiries = inquiries.order(created_at: 'ASC') end render json: @inquiries end
$(function(){ $('.visit_date').click(function() { change_inquiries(1); }); $('.created').click(function() { change_inquiries(2); }); function change_inquiries(val) { $.ajax({ type: 'GET', url: '/top/change', data: { id: val }, dataType: 'json' }) .done(function (data) { $(".highlight").html("<%= j(render :partial => 'inquiries/result', :locals => {:data => data}) %>") }) } });
補足情報(FW/ツールのバージョンなど)
rails 5.2.3
ruby 2.6.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/09/13 05:56
2019/09/13 07:39
退会済みユーザー
2019/09/13 08:48
2019/09/13 09:04