[英]Rails 5 Devise login via AJAX using Bootstrap Modal
目前,我正在嘗試通過引導模態使用AJAX來獲取常規的Devise登錄表單。 sign_in部分在服務器端可以正常工作-用戶已登錄,但問題是由於JS未觸發,我無法就位進行前端請求處理。
session_controller.rb#創建
def create
resource = User.find_for_database_authentication(email: params[:user][:email])
return invalid_login_attempt unless resource
if resource.valid_password?(params[:user][:password])
sign_in :user, resource
return render :json => {:success => true}
end
invalid_login_attempt
end
這部分工作正常-用戶在請求中使用200個“成功”響應登錄。
登錄表單(用於設計的默認表單)
<%= form_for(resource, url: session_path(:user), remote: true) do |f| %>
<%= f.email_field :email, autofocus: true, placeholder: 'Email', class: "form-control center-block" %>
<%= f.password_field :password, placeholder: 'Password', autocomplete: "off", class: 'form-control center-block' %>
<%= f.submit 'log in', class: 'center-block btn btn-sp btn-lg'%>
<% end %>
表單是使用隱藏的Bootstrap模態預先渲染的,單擊該模態當然是可見的。
還有不點火的JS
$(document).on('ajax:success', '#new_user', function(){
console.log("in");
});
我嘗試ajaxSuccess
更舊的.bind
語法ajaxSuccess
,將JS置於應用程序級別,並在表單之后立即呈現,但是似乎無法啟動JS並且我用盡了所有想法,因此感謝您的幫助。 在Rails 5,Ruby 2.3.1,jquery-rails 4.1.1上運行。
我相信您可以將本文作為起點http://blog.andrewray.me/how-to-set-up-devise-ajax-authentication-with-rails-4-0/ ,然后進行隱藏/顯示響應時的模態窗口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.