我正在尝试将一个css文件包含在rails网站上的布局文件中,并且标题中包含的标记未被解释,而是显示在页面上。我把标签放在了部分。链接标记如下所示。我指定了page_style并将其正确插入页面,但页面显示下面的第二个标签,而不是解释标签。
<%= "<link rel=\"stylesheet\" type=\"text/css\" href=\"/stylesheets/#{@page_style}.css\">" if !@page_style.nil? %>
<link rel="stylesheet" type="text/css" href="/stylesheets/standard.css">
答案 0 :(得分:1)
在Rails(3及更高版本)中,字符串在显示之前会进行HTML转义,因此您的<
会被编码为<
等。
您可以将.html_safe
添加到字符串中,如下所示:
<%= "<link rel=\"stylesheet\" type=\"text/css\" href=\"/stylesheets/#{@page_style}.css\">".html_safe if !@page_style.nil? %>
但是,如果你重写它以使用这样的stylesheet_link_tag
助手,那将会更多Rails-y:
<%= stylesheet_link_tag(@page_style) if @page_style.present? %>
答案 1 :(得分:0)
我真的不知道你在哪里开始了Rails命令。 通常基本的Rails开始如下:
<% if @page_style.nil? %>
// Do something here
<% end %>
您可能想要添加“绑定.pry”#39;在@page_style使用后立即在你的控制器中。在你的服务器选项卡中,它应该打开你的rails控制台,你可以检查@page_style的输出(甚至应用@ page_style.nil?操作并检查其结果)。