【问题标题】:Integrate layouts with Devise将布局与设计集成
【发布时间】:2011-07-11 07:50:40
【问题描述】:

我正在为用户身份验证使用设计,但是,我希望注册、登录和 beta 代码输入页面具有称为“beta”的布局,而不是其余页面具有的应用程序(默认)布局。

我通常只是更改控制器中的布局,但没有带有 Devise 的控制器。 这是不可能的,我只需要更改应用程序布局并为所有其他页面设置特定布局吗?

【问题讨论】:

    标签: ruby-on-rails layout devise default


    【解决方案1】:

    设计中有控制器,它们很容易定制。只需执行以下操作:

    app/controllers/sessions_controller.rb

    class Users::SessionsController < Devise::SessionsController
      layout  "beta"
    end
    

    /config/routes.rb

    devise_for :users, :controllers => { :sessions => "users/sessions" }
    

    对注册页面和所有其他您希望具有此布局的页面执行相同操作。

    【讨论】:

    • 注册应该是class Users:RegistrationsController &lt; Devise::RegistrationsController 对吧?我会添加到 routes.rb ... :controllers =&gt; { ..., :registrations =&gt; "users/registrations" } 对吗?
    • 需要注意的是需要把控制器放在app/controllers/users/sessions_controller.rb
    • 对。您想要自定义的任何其他内容也将遵循相同的格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 2012-06-19
    • 2021-09-01
    • 2013-01-30
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多