Я новичок в рубине на рельсах. Я создаю простую функцию входа в систему.
Но страница входа не прошла, даже если учетные данные действительны.
Я не знал, почему это происходит. Пожалуйста, помогите, какую ошибку я совершил.
Я прилагаю мой код ниже,
Контроллер userlists_controller.rb
def login
end
def login_action
user = Userlist.find_by(email: params[:email])
if user and user.authenticate(params[:password])
session[:user_id] = user.id
session[:user_name] = user.name
redirect_to user, alert: "User logged in successfully"
else
redirect_to login_url, alert: "Invalid user/password combination"
end
end
Просмотр login.html.erb
<h1>Login</h1>
<% if flash[:alert] %>
<div id="error_explanation">
<p id="notice"><%= flash[:alert] %></p>
</div>
<% end %>
<%= form_tag do %>
<div class="field">
<%= label_tag :email, 'Email' %>
<%= email_field_tag :email, params[:email] %>
</div>
<div class="field">
<%= label_tag :password, 'Password' %>
<%= password_field_tag :password, params[:password] %>
</div>
<div class="actions">
<%=submit_tag "Login" %>
</div>
<% end %>
route route.rb
get 'login' => 'userlists#login'
post 'login' => 'userlists#login_action'