2016-02-26 62 views
0

我的應用程序中的文章有字段「body」,其中包含html文本。例如:Ruby on rails:用html和rails代碼轉換文本

<div class ='skill_pic'> 
    <img src = "/assets/images/picture_1.png"> 
</div> 

鑑於我叫場「身體」中指出:

<%= raw @article.body %> 

在本地機器上一切正常,但是當我在生產部署我的應用程序,圖像顯示不正確的和瀏覽器控制檯返回404錯誤。

IMAGE_TAG在文章的身體可以解決我的問題,我的意思是:

<div class ='skill_pic'> 
    <%= image_tag('images/picture_1.png') %> 
</div> 

但輔助原料不能轉換文本使用HTML和軌方法

現在,我想在三個方向:

  1. 尋找生產圖像的正確路徑
  2. 找到一些幫手,它可以正確地將文本轉換爲html和rails代碼
  3. 找到另一種解決方案

回答

0

你可以存儲erb諧音像這樣在你的數據庫:

<div class ='skill_pic'> 
    <%= image_tag('images/picture_1.png') %> 
</div> 

並與ERB在你的意見使它們:

<%= raw ERB.new(@article.body).result(binding) %> 
+0

<%= raw ERB.new(@ article.body).result(binding)%> 它解決了我的問題,很大讓你癡迷 – Largo

+0

很高興能幫到你。當它解決你的問題時,你介意接受答案嗎? – spickermann

0

我想您做一些迷你CMS。小心不要讓用戶填寫數據庫中的數據。你會遇到非常糟糕的安全問題。如果用戶可以編輯你的html,你最好使用一些模板引擎,如Liquid或markdown。

這就是說,你應該不使用資產管道的參考圖像。將圖像放入public文件夾而不是assets文件夾。公共文件夾將會像web根目錄'/'一樣可用,所以沒有url中的'public'。