Привет Я начинаю обучение в ROR 4 с помощью учебных пособий. Теперь я сделал это приложение cms для начинающих, но я не могу снова войти в него, используя страницу входа, которую я создал. Я проверил использование консоли rails, что имя пользователя и пароль, которые я набираю, являются реальными и существуют в базе данных, и я попытался создать нового пользователя через консоль, но все же я не могу заставить себя войти в приложение. Это заставляет меня нервничать, не будучи в состоянии войти в ваше собственное приложение.ROR 4 - Ошибка аутентификации пользователя
Вот мой Логин кодовой страницы
<% @page_title = "Admin Login" %>
<div class="login">
<%= form_tag(:action => 'attempt_login') do %>
<table>
<tr>
<td><%= label_tag(:username) %></td>
<td><%= text_field_tag(:username) %></td>
</tr>
<tr>
<td><%= label_tag(:password) %></td>
<td><%= password_field_tag(:password) %></td>
</tr>
<tr>
<td> </td>
<td><%= submit_tag("Log In") %></td>
</tr>
</table>
<% end %>
</div>
Вот мой код контроллера
layout 'admin'
before_action :confirm_logged_in, :except => [:login, :attempt_login, :logout]
def index
# display text & links
end
def login
# login form
end
def attempt_login
if params[:username].present? && params[:password].present?
found_user = AdminUser.where(:username => params[:username]).first
if found_user
authorized_user = found_user.authenticate(params[:password])
end
end
if authorized_user
# mark user as logged in
session[:user_id] = authorized_user.id
session[:username] = authorized_user.username
flash[:notice] = "You are now logged in."
redirect_to(:action => 'index')
else
flash[:notice] = "Invalid username/password combination."
redirect_to(:action => 'login')
end
end
def logout
# mark user as logged out
session[:user_id] = nil
session[:username] = nil
flash[:notice] = "Logged out"
redirect_to(:action => "login")
end
end
был бы очень признательна помощи по этому вопросу.
Если вы получаете неверное имя пользователя/пасс .. Вы должны проверить 'ли found_user.authenticate (PARAMS [: пароль])' фактически возвращение ' true' или нет. – sonalkr132
Я проверял использование консоли rails и да, это возвращает true. И я пробовал это много раз, используя разных пользователей, создавая другого пользователя, а затем снова проверяя его. Но та же ошибка сохраняется. – Ravi
И если есть какой-либо способ проверить это заявление, пожалуйста, дайте мне знать. – Ravi