Html 将CSS文件链接到Haml布局模板
我正在尝试将Html 将CSS文件链接到Haml布局模板,html,css,ruby-on-rails,haml,Html,Css,Ruby On Rails,Haml,我正在尝试将css文件链接到haml布局模板 !!! 5 %html %head %title Rotten Potatoes! = stylesheet_link_tag 'application' = styletag 'default' = javascript_include_tag 'application' = csrf_meta_tags %body = yield 我在ApplicationHelper中有一个方法来生成正
css
文件链接到haml
布局模板
!!! 5
%html
%head
%title Rotten Potatoes!
= stylesheet_link_tag 'application'
= styletag 'default'
= javascript_include_tag 'application'
= csrf_meta_tags
%body
= yield
我在ApplicationHelper
中有一个方法来生成正确的html
module ApplicationHelper
def styletag(sheet_name)
"<link rel='stylesheet' href='/assets/stylesheets/#{sheet_name}.css'>"
end
end
但是,<>代码> HAML不认为它像一个标签,它显示得像一个文本。
你需要添加HTMLYSAFE。默认情况下,Rails将转义文本中的html,因此您需要告诉Rails它不应该这样做 请参阅并单击“显示源” 如果将其更改为:def styletag(sheet_name)
"<link rel='stylesheet' href='/assets/stylesheets/#{sheet_name}.css'>".html_safe
end
def样式标签(图纸名称)
“”.html\u安全
结束
它应该适合你你为什么要这样做?Rails已经有了一个帮助程序,它就在您引用的行上方:
stylesheet\u link\u tag
。你真的不应该为此编写自己的助手,资产管道比你似乎意识到的要复杂,你的助手最终会以奇怪的方式失败。尽管我在下面给出了答案,如果你真的需要这么做,你应该使用样式表链接标签@meagar states。特别是因为它将与资产管道一起工作properly@meagar你们是对的,但我有一个问题,若我使用的'样式表链接标签'路径不正确,404未找到返回,即使文件是在正确的文件夹