Changing devise default layouts

后端 未结 3 927
独厮守ぢ
独厮守ぢ 2021-02-05 10:17

I\'m trying to get devise to display a different layout template from the defaults for certain aspects.

I have this working when the user goes to the login page, but I n

3条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-02-05 10:52

    Add this lines of code to your application.rb:

    config.to_prepare do
        Devise::SessionsController.layout "your_layout_name"
        Devise::RegistrationsController.layout "your_layout_name"
        Devise::ConfirmationsController.layout "your_layout_name"
        Devise::UnlocksController.layout "your_layout_name"
        Devise::PasswordsController.layout "your_layout_name"
    end
    

    If you want the same layout for all Devise views, except for when the user is editing its data, you could have something like this:

    config.to_prepare do
      Devise::SessionsController.layout "your_layout_name"
      Devise::RegistrationsController.layout proc{ |controller| user_signed_in? ? "application" : "your_layout_name" }
      Devise::ConfirmationsController.layout "your_layout_name"
      Devise::UnlocksController.layout "your_layout_name"            
      Devise::PasswordsController.layout "your_layout_name"        
    end
    

    For more information you can read this article

提交回复
热议问题