Ruby on Rails-删除标题和边栏AdminLTE

时间:2018-10-27 08:55:54

标签: ruby-on-rails ruby

如何仅针对注册页面隐藏标题和侧边栏AdminLTE?对于登录,当我运行此命令rails g devise:views users时,它将自动生成。注册页面怎么样?

enter image description here

这是我的routes.rb

    Rails.application.routes.draw do
      devise_for :users, controller: {
        sessions: "sessions/registrations"
      }
      get 'home/index'
      root :to => 'home#index'
    end

和我的application_controller.rb

    class ApplicationController < ActionController::Base
      before_action :authenticate_user!

      layout 'admin_lte_2'
    end

1 个答案:

答案 0 :(得分:2)

我不知道您如何将devise与admin lte一起使用,但我可以看到2种可能的解决方案

选项1

您可以为登录用户定义其他路由:

getting color

未经身份验证的用户将被重定向到 devise / session#new 视图(或您选择的任何其他视图)。

如果您想为那些用户显示除注册页面以外的其他内容,请添加未经身份验证的root:

devise_for :users
devise_scope :user do
  authenticated :user do
    root 'home#index', as: :authenticated_root
  end
  get 'user', to: 'devise/sessions#new'
end

选项2

创建没有标题和侧边栏的自定义注册页面。我认为编辑由devise生成的视图(我不知道这是否是一种好习惯)比创建自定义布局要容易得多。 您可能会有一个观点:

unauthenticated do
  root 'foo#bar', as: :unauthenticated_root
end

只需对其进行编辑,即可满足您的需求。

要创建用于设计的自定义布局,请点击此处:

  

Wiki: Create custom layouts

     

Wiki: Customize routes

我希望对您有帮助