Problem with the load of view of sign_in with Devise Rails 5
I have the views of devise in views/users, but I have one layout for all app in aplication.html.erb, but the devise i dont want to renderize with this layout, so I create a sessions controller and add this line code render "layouts/sessions" where i create a layout special for login with the form default of devise and I will customize. But when I add the authentication in application_controller:
before_action :authenticate_user!
I have the views of devise in views/users, but I have one layout for all app in aplication.html.erb, but the devise i dont want to renderize with this layout, so I create a sessions controller and add this line code render "layouts/sessions" where i create a layout special for login with the form default of devise and I will customize. But when I add the authentication in application_controller
before_action :authenticate_user!
the view return the follow error:
NoMethodError in #
Showing /home/thomazws/Documentos/rails/projetohroV2/app/views/layouts/sessions.html.erb where line #5 raised:
undefined method `name' for nil:NilClass
Extracted source (around line #5):
3
4
5
6
7
8
<%= render partial: "layouts/site/navbar"%>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<%= f.label :email %>
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
Rails.root: /home/thomazws/Documentos/rails/projetohroV2
Application Trace | Framework Trace | Full Trace
app/views/layouts/sessions.html.erb:5:in _app_views_layouts_sessions_html_erb__3586321389248541598_69851658500860'
class:SessionsController'
app/controllers/sessions_controller.rb:2:in
app/controllers/sessions_controller.rb:1:in `'
sessions_controller.rb
class SessionsController < Devise::SessionsController
render "layouts/sessions"
end
strange that when I take the devise form and <% = render partial: "layouts / site / navbar"%> and put the login again it loads together with the navbar that is in the partial, however if I update the page or I stop the server and turn it back on it returns the error.