#Ajax通信エラー
Ruby on RailsでjQueryを用いたAjax通信で以下のようなエラーメッセージが表示され、通信ができない。
xhr.send( ( options.hasContent && options.data ) || null );
と表示される。
#ソースコード
app/assets/scripts/users.js
// 略 params[:attend_cnt], params[:users_cnt]には値が入っており、 // users_controller.rbのindexアクションに渡せている。 $.ajax({ type: 'GET', url: '/users', dataType: 'json', data: { attend: attend_cnt, users: users_cnt} }) .done(function(users){ //do something }) .fail(function(){ console.log('error'); });
app/controllers/users_controller.rb
@users = User.all respond_to do |format| format.html format.json end
app/views/users/index.json.jbuilder
json.username @users.username json.status @users.status
エラー
ActionView::Template::Error (undefined method `username' for nil:NilClass): 1: json.username @users.username 2: json.status @users.status
ActionViewに'undefined method `username'とありますが、こちらはdeviseのusersテーブルに追加で設定したユーザー名カラムで存在しています。
Ajaxのデータの受け渡しがうまくできていないのかもしれません。何か問題があればお教えお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。