在Rails中,如何呈现存储的HTML并使用工作的绝对链接显示它?我有一大块HTML,我从视图页面调用html_safe。当我在浏览器中加载页面时,该HTML中的所有链接都呈现为我自己域中的相对URL,而不是指向原始目标的绝对链接。
在我的控制台中或作为表单的结果:
@company.about = "Some info about a <a href="http://google.com">company</a>."
在视图中:
<%= @company.about.html_safe %>
在浏览器中呈现的内容(相对网址):
有关company。
的一些信息我将喜欢在浏览器中呈现的内容(绝对网址):
有关company。
的一些信息 PS - 我意识到这样做并不是很好的做法。但它不是用户提交的内容,只是我自己的内容。在我决定如何更好地构建模型以适应这些链接之前,它是一个临时工作流程。我更惊讶的是,无法找到关于html_safe实际上对链接有什么影响的更详细信息。答案 0 :(得分:1)
我在我的rails应用程序上测试了这个,然后运行(检查我如何使用'和'):
@company.about = 'Some info about a <a href="http://google.com">company</a>.'
<%= @company.about.html_safe %>
答案 1 :(得分:0)
你试过raw?
<%= raw @company.about %>
或其他什么(它没有经过测试,我将这种方法用于大虾,也许可以运行:
@company.about = "Some info about a #{<a href="http://google.com">company</a>}."
答案 2 :(得分:0)
答案 3 :(得分:0)
如果使用_url后缀,则生成的URL是绝对的。使用_path获取相对URL。
<%= link_to "Home", root_url %>
<%= link_to "Home", root_path %>
另请参阅插件:http://www.simonecarletti.com/blog/2009/10/actionmailer-and-host-value/