Я знаю, что это, по-видимому, частый вопрос (я видел много ответов здесь), но я пока не могу его исправить.
Итак ... Я создаю простое приложение для блога с devise gem, но когда я пытаюсь войти в систему, я всегда получаю "Неверный адрес электронной почты или пароль". сообщение: /
На самом деле, это мой первый настоящий проект с рельсами, так что иногда я немного заблудился с маршрутами и т. Д. Кстати, я бы сказал, что ошибка, вероятно, вызвана файлом маршрутов.
Пожалуйста, я был бы признателен за помощь:)
Мой файл rout.rb:
Rails.application.routes.draw do
root 'posts#index'
resources :posts do
resources :comments
end
devise_for :users
devise_scope :user do
get "login", :to => "devise/sessions#new"
get "logout", :to => "devise/sessions#destroy"
end
Файл моих сеансов / new.html.erb:
<div class="container mt-3 pb-3">
<div class="row">
<div class="col-lg-6 border">
<h1>Login</h1>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="form-group">
<%= label_tag :email, "Email" %>
<%= text_field_tag :email, "", autofocus: true, :class =>"form-control" %>
</div>
<div class="form-group">
<%= label_tag :password, "Senha" %>
<%= password_field_tag :password, "", :class =>"form-control" %>
</div>
<div class="form-group">
<%= submit_tag "Entrar", :class =>"form-control btn btn-outline-dark" %>
</div>
<% end %>
<%= render "devise/shared/links" %>
</div>
</div>
</div>
Мои регистрации / _form.html.erb:
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= render "devise/shared/error_messages", resource: resource %>
<div class="form-group">
<%= f.label :username, "Nome" %>
<%= f.text_field :username, autofocus: true, autocomplete: "username", :class =>"form-control" %>
</div>
<div class="form-group">
<%= f.label :email, "Email" %>
<%= f.email_field :email, autocomplete: "email", :class =>"form-control" %>
</div>
<div class="form-group">
<%= f.label :password, "Senha" %>
<% if @minimum_password_length %>
<em>(No mínimo <%= @minimum_password_length %> caracteres)</em>
<% end %><br />
<%= f.password_field :password, autocomplete: "new-password", :class =>"form-control" %>
</div>
<div class="form-group">
<%= f.label :password_confirmation, "Confirme sua senha" %><br />
<%= f.password_field :password_confirmation, autocomplete: "new-password", :class =>"form-control" %>
</div>
<div class="form-group">
<%= f.submit "Criar", :class =>"form-control btn btn-outline-dark" %>
</div>
<% end %>
ПРОСТО ДРУГОЙ ВЕЩИ! МОЖЕТ ЭТО ВАЖНО ...
У меня есть панель навигации, отображаемая в "layouts / application.html.erb", которая показывает имя текущего пользователя и кнопку выхода из системы, когда пользователь подключен, и кнопку входа в систему, когда сеансов нет.
<% unless current_page? (login_path) %>
<%= link_to 'Entrar', login_path, :class =>"btn btn-outline-light" %>
<% end %>