Я пытаюсь добавить форму входа на свой сайт с помощью лайтбокса начальной загрузки.
<%= form_for(User.new, url: session_path(:user), html:{id: 'sign_in_user', :'data-type' => 'json'}, remote: true, :format => :json, authenticity_token: true) do |f| %>
<div class="field">
<%= f.email_field :email, autofocus: true, autocomplete: "email", placeholder: "Email", class: "form-control", validate: true, required: true %></div>
<div class="actions mt-3">
<%= f.submit "Log in", class: "btn btn-lg btn-primary btn-block" %>
</div>
<% end %>
JS
$(document).on('click', '[data-toggle="lightbox"]', function (event) {
event.preventDefault();
$(this).ekkoLightbox();
});
app / controllers /users / session_controller.rb
class Users::SessionsController < Devise::SessionsController
layout false
# POST /resource/sign_in
def create
# Skip password, only check if email exists
self.resource = User.find_by_email(params[:user][:email])
if resource.present?
sign_in(resource_name, resource)
respond_with resource, location: after_sign_in_path_for(resource)
else
render json: {status: "ERROR", message: "User not found", }, status: :unprocessable_entity
end
end
end
При правильной электронной почте пользователя форма работает правильно, но при неудачном входе в систему она перенаправляется на «users / sign_in».Я хочу только напечатать сообщение об ошибке, без перенаправления.Как я могу это сделать?