Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何根据Rails中的登录/注销状态动态地包含css_Html_Css_Ruby On Rails - Fatal编程技术网

Html 如何根据Rails中的登录/注销状态动态地包含css

Html 如何根据Rails中的登录/注销状态动态地包含css,html,css,ruby-on-rails,Html,Css,Ruby On Rails,我使用的模板布局包含首页集和管理面板集(每个集包含自己的CSS) 我只想在用户未登录时使用首页CSS,而在用户登录时设置管理面板。我如何在rails中实现这一点,而不使用链接HREF?目前,所有CSS都是从assets文件夹一次加载并混合在一起的。您可以编写一个方法来选择特定控制器的布局: layout :choose_layout def choose_layout current_user.present? ? "this_layout" : "other_layout" end

我使用的模板布局包含首页集和管理面板集(每个集包含自己的CSS)


我只想在用户未登录时使用首页CSS,而在用户登录时设置管理面板。我如何在rails中实现这一点,而不使用链接HREF?目前,所有CSS都是从assets文件夹一次加载并混合在一起的。

您可以编写一个方法来选择特定控制器的布局:

layout :choose_layout

def choose_layout
   current_user.present? ? "this_layout" : "other_layout"
end

您可以编写一个为特定控制器选择布局的方法:

layout :choose_layout

def choose_layout
   current_user.present? ? "this_layout" : "other_layout"
end

根据我的经验,你应该:

  • 有两个单独的布局,但保留一个包含共享部分的目录(使用尽可能多的部分)
  • 单独的CSS文件(例如使用guest.CSS和admin.CSS),但也保留另一个“shared.CSS”文件,在其中保存诸如.无填充.无边距.隐藏.向左拉等内容。。。所以你不会复制任何代码
  • 以相同的方式分离javascript

你永远不知道为什么/什么时候你会决定合并这两个布局,但保持CSS的独立,或者相反-应用程序会随着时间的推移而变化,所以很枯燥。

根据我的经验,你应该:

  • 有两个单独的布局,但保留一个包含共享部分的目录(使用尽可能多的部分)
  • 单独的CSS文件(例如使用guest.CSS和admin.CSS),但也保留另一个“shared.CSS”文件,在其中保存诸如.无填充.无边距.隐藏.向左拉等内容。。。所以你不会复制任何代码
  • 以相同的方式分离javascript

你永远不知道为什么/什么时候你会决定合并这两个布局,但保持CSS分离,或者反过来-应用程序会随着时间变化而变化,如此枯燥。

你说的“没有链接的HREF”是什么意思?这听起来像是一个简单的
if…else
语句,它意味着我想使用资产管道默认的rails行为,而不是,例如,if/else使用30个HREF到css脚本。你说的“没有链接HREF”是什么意思?这听起来像是一个简单的
if…else
语句。这意味着我想使用资产管道默认的rails行为,而不是,例如,if/else和30个HREF到css脚本。“这个布局”和“其他布局”是css文件?一个布局有自己的标记和css。转到应用程序的layouts目录,添加一个新布局,该布局具有自己的自定义标记和css类。是。如果您想使用应用程序布局,它将是
“应用程序”
“此布局”和“其他布局”是CSS文件?布局有自己的标记和CSS。转到应用程序的layouts目录,添加一个新布局,该布局具有自己的自定义标记和css类。是。如果您想使用应用程序布局,它将是
“应用程序”
,感谢所有这些建议,幸运的是我按照您所说的那样做了:)感谢所有这些建议,幸运的是我按照您所说的那样做了:)