Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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
Ruby on rails 如何呈现HTML标记,而不是打印它_Ruby On Rails_Font Awesome - Fatal编程技术网

Ruby on rails 如何呈现HTML标记,而不是打印它

Ruby on rails 如何呈现HTML标记,而不是打印它,ruby-on-rails,font-awesome,Ruby On Rails,Font Awesome,我正在使用一个名为@menu的对象的装饰器来呈现视图中的链接。我也使用德雷珀宝石为我的装饰 在我的装饰师中,我有以下几行: def link link_to model.name + icon("external-link"), model.url end 但是,当我在视图中使用@menu.link调用它时,的html标记将直接显示在页面上,而不是被处理 顺便说一下,我可以使用font Aweasome gem:iconexternal链接中的帮助器来呈现相同的html。但它将产生同样的结

我正在使用一个名为@menu的对象的装饰器来呈现视图中的链接。我也使用德雷珀宝石为我的装饰

在我的装饰师中,我有以下几行:

def link
  link_to model.name + icon("external-link"), model.url
end
但是,当我在视图中使用@menu.link调用它时,的html标记将直接显示在页面上,而不是被处理


顺便说一下,我可以使用font Aweasome gem:iconexternal链接中的帮助器来呈现相同的html。但它将产生同样的结果。有人能告诉我在这种情况下如何正确地呈现html吗?

如果您使用的是font Asome sass gem,那么使用图标助手方法将是明智的。就你而言:

def link_with_icon
  link_to (model.name + icon('external-link')).html_safe, model.url
end

您应该在link方法上使用html\u safe。像这样的东西去掉引号:model.name+@RedZagogulin对不起,那是个打字错误。我编辑了我的问题。@PamioSolanky我称之为html\u安全,但我仍然看到原始html。我还尝试在方法定义中调用html\u safe,方法是将html\u链接到model.name+图标'external\u link'。html\u safe,model.url。不确定为什么会发生这种情况。您也可以像这样使用raw=raw@menu.link??让我知道