サインインするためのモーダル フォームがあります。
= form_for(Spree::User.new, :url => spree.create_new_session_path, :as => :spree_user, html:{id: 'log_in_user', :'data-type' => 'json'}, remote: true) do |f|
= f.email_field :email, :class => 'form-control', :tabindex => 1, :placeholder => Spree.t(:email)
= f.password_field :password, :class => 'form-control', :tabindex => 2, :placeholder => Spree.t(:password)
= f.submit 'Submit', :tabindex => 3, :class => 'btn btn-lg btn-success btn-blue'
そして私のwelcome.jsへのいくつかのjs
$("form#log_in_user, form#register_user").bind("ajax:success", function(event, xhr, settings) {
$(this).parents('.modal').modal('hide');
})
正常に動作しますが、部分的な「ログインバー」をリロードしたい
user_sessions/create.js.erb を作成してみました
alert('123');
$(".user-area").load("<%= j render partial: 'shared/login_bar' %>");
しかし、うまくいきません。そのため、spree_auth_devise ビューがどのように機能するか、どこでどのようにオーバーライドして独自の js.erb ファイルを追加できるかを理解できません。何か助けはありますか?
ちなみに、user_sessions_controller.rbと format.js の部分:
def create
if spree_user_signed_in?
respond_to do |format|
format.html {
flash[:success] = Spree.t(:logged_in_succesfully)
redirect_back_or_default(after_sign_in_path_for(spree_current_user))
}
format.js {
render :json => {:user => spree_current_user,
:ship_address => spree_current_user.ship_address,
:bill_address => spree_current_user.bill_address}.to_json
}
end