Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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 将CSS文件链接到Haml布局模板_Html_Css_Ruby On Rails_Haml - Fatal编程技术网

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未找到返回,即使文件是在正确的文件夹