ログイン/認証を行っていますが、ユーザーが不適切なデータを入力したときにエラー メッセージを表示したいと考えています。ユーザーが登録しようとしたときに発生するエラーのリストを取得するためのコードは次のとおりです。
flash[:error] = []
resource.errors.each do |error|
flash[:error].push error
end
そして、ApplicationController の after_filter として、HTTP をフラッシュ エラー配列に設定します。
response.headers['X-Flash-Error'] = flash[:error] unless flash[:error].blank?
私は AJAX を使用しており、.js.erb ファイルを使用して AJAX コールバック (ビジネス上の制約) を処理していないため、テンプレートに渡される典型的なフラッシュ オブジェクトを使用できません。
を使用して JavaScript ajax コールバックでエラーにアクセスしようとするとxhr.getResponseHeader('X-Flash-Error')
、コンマで区切られたエラーの文字列が表示されます。明らかに、これらの項目をカンマで分割して配列を簡単に取得できますが、サーバーからヘッダーに配列を単純に渡す方法はありますか?