0
我有一個@ page.content它存儲在數據庫中作爲文本列。是否有一種簡單的方法在HTML內容中嵌入渲染標籤?在wysiwyg文本里面渲染一個模板
<div>Lorem ipsum</div>
<%= render 'image_slider' %>
<div>Lorem ipsum</div>
我有一個@ page.content它存儲在數據庫中作爲文本列。是否有一種簡單的方法在HTML內容中嵌入渲染標籤?在wysiwyg文本里面渲染一個模板
<div>Lorem ipsum</div>
<%= render 'image_slider' %>
<div>Lorem ipsum</div>
我選擇引入nokogiri方式有兩個網址Y幫手
def print_content_start(page, shift=4)
result = ''
doc = Nokogiri::HTML(page.content)
doc.css('div,p').each_with_index do |node, i|
break if i == shift
result += node.to_s
end
result
end
def print_content_end(page, shift=4)
result = ''
doc = Nokogiri::HTML(page.content)
doc.css('div,p').drop(shift).each do |node|
result += node.to_s
end
result
end
如果有人知道一個更好的辦法,請讓我知道完蛋了!
你在找'eval' – Nithin 2014-09-10 11:58:41
'@ page.content'是一個字符串,你可以'render_to_string'image_slider''然後做插入或者分支到'@ page.content'。如果這看起來很粗糙,請使用nokogiri。另外,你可以在客戶端插入javascript所需的標籤,用jquery很容易。 – 2014-09-10 12:21:17
2,感謝您的回答。我不明白如何使用eval來解決這個問題。你能提供一些代碼來解釋嗎? – Dmitriy 2014-09-11 10:09:07