2017-03-17 15 views
6

私のアプリケーションでは、Turbolinks Mobileラッパーを設定しようとしています。私はAppにサインインできない問題にぶち込んでいます(Deviseを変更してXHRに移行してモバイルで働かなければならないという問題があると思っています)。私のsign_inフォームはDeviseを使用しますが、コードは表示されません。Ruby on Railsデビーズで動作するturbolinksラッパーを取得する

Using: ruby "2.4.0" gem "rails", "5.0.2" gem "turbolinks", "~> 5.0.0.beta" gem "devise", ">= 4.2.0" gem "devise-async", git: "https://github.com/mhfs/devise-async", branch: "devise-4.x" # for user authentication

私が見てか、私はturbolinksモバイルラッパーにXHRを送信できるように持って工夫を修正するために何をすべきかを必要としないところ私の質問はありますか?

今すぐサインインすると私は知っている(または私は思っている)私はDEVISEにXHRに切り替える必要があるが、私はどのようにわからない。

どうすればよいですか?または参考資料に関する推奨事項は?

答えて

2

ajaxリクエストを受け入れるには、devise initializerを更新する必要があります。

config.http_authenticatable_on_xhr = false 
config.navigational_formats = ["*/*", :html, :json] 

jsonにも対応するには、登録とセッションコントローラを更新する必要があります。

format.json { render json: resource } 
+0

スティーブンス、 ありがとう - バウンティはすべてあなたのものです!簡単な質問ですが、ここでformat.jsonを追加しました。作成するだけです。http://take.ms/pihdd 答えに感謝します。 – user2970050

+0

eager loadingはJSONレスポンスに固有のものではありません。その警告は、使用されていないデータをロードしていることを伝えるだけです。 http://guides.rubyonrails.org/active_record_querying.html#eager-loading-multiple-associationsをご覧ください。 – Stephen