2015-04-04 61 views
1

我的HTML轨辅助模块中的字符串:Rails的html_safe正在改变我的形象路径

def app_link 
    "<a href=\"https://itunes.apple.com/us/app/one-spark/id630800549?mt=8\" target=\"_blank\"> 
    <img src=\"/assets/apple-download-button.png\" alt=\"App Store\" /> 
    </a>" 
end 

当它通常呈现逃离了HTML,但是当我添加

<%= app_link.html_safe %> 

的资产部分的图像路径被删除并更改为:

<a href="https://itunes.apple.com/us/app/one-spark/id630800549?mt=8" target="_blank"> 
    <img src="apple-download-button.png" alt="App Store" /> 
</a> 

我猜这与资产pi有关但它看起来真的很奇怪的行为。

+0

? – sansarp 2015-04-04 08:46:57

+0

没有。正确的图像路径是“/assets/apple-download-button.png” – 2015-04-04 08:57:17

+0

我认为html_safe不会导致问题,我已检查并返回正确的图像路径,即“/assets/apple-download-button.png” – 2015-04-04 08:59:23

回答

2

尝试使用此助手的修改版本。希望能帮助到你。

def app_link  
    app_link_html = '' 
    app_link_html << "<a href=\"https://itunes.apple.com/us/app/one-spark/id630800549?mt=8\" target=\"_blank\"><img src=\"/assets/apple-download-button.png\" alt=\"App Store\" /></a>" 
    app_link_html.html_safe 
end 

,并鉴于

<%= app_link %> 
使用.html_safe它重定向到正确的图像时
+0

工作。任何解释为什么? – 2015-04-04 09:16:16

+0

好极了。对于html元素,我经常这样做,并且是在帮助程序本身中包含html_safe方法的首选方式。 – sansarp 2015-04-04 09:53:14