RoR 样式表布局视图链接。 `:media => all` 是啥意思
Posted
技术标签:
【中文标题】RoR 样式表布局视图链接。 `:media => all` 是啥意思【英文标题】:RoR stylesheet layout view link. What does `:media => all` meanRoR 样式表布局视图链接。 `:media => all` 是什么意思 【发布时间】:2013-04-15 11:07:37 【问题描述】:我有:
<&= stylesheet_link_tag "application", :media => "all" %>
但我正在为我的应用程序中的某些视图添加(完全)替代布局,并带有单独的样式表。我想将现有布局仅链接到一些样式表,并添加其他样式表。我需要在这里改变什么?
【问题讨论】:
【参考方案1】:为此,您可以在视图/布局中创建类似于 application.html.erb
的新文件
例如,我正在创建 home.html.erb
.Link 你所有的样式表和 js 文件,最后只需在你需要的控制器中添加该布局名称为 layout 'home'
【讨论】:
这就是我所做的,但我想知道我应该在新布局和旧布局的 stylesheet_link_tag 行中写什么,以便它们各自链接到自己的样式表 您只需在新布局中添加所需的样式表 "all") %> 谢谢。但是我应该把media=> all
留在那里吗?这不会调用所有样式表,包括其他布局的样式表吗?【参考方案2】:
您可以使用单独的清单文件并包含这些清单文件 This answer 将帮助您如何做到这一点
【讨论】:
我目前有一个控制器渲染一个不同的布局文件,我正在尝试有一个单独的布局。这也可能吗? 是的,你可以在你的布局中假设它是 sigin 布局你可以使用登录清单【参考方案3】:它指定当以所有媒体类型查看页面时应加载您的application.css
。它是 CSS 属性,而不是 Rails 属性。
更多详情请见http://www.w3.org/TR/CSS2/media.html#media-sheets。
【讨论】:
【参考方案4】:您可以为整个控制器或特定操作添加单独的布局
例如:
在您的控制器中:
layout :resolve_layout
#controller code
...
def resolve_layout
case action_name
when "new", "create", "wait_conformation"
"customer_layout"
else
"producer_layout"
end
end
这里的customer_layout
& producer_layout
是布局文件。
【讨论】:
以上是关于RoR 样式表布局视图链接。 `:media => all` 是啥意思的主要内容,如果未能解决你的问题,请参考以下文章