Q
動態內容
6
A
回答
0
如前所述,您可以使用Liquid來替換它,或者您可以嘗試使用(http://www.kuwata-lab.com/erubis/)。
另一種方法是更換標籤這樣的:
ERB.new(your_template.gsub("{{", "<%=").gsub("}}", "%>")).result
你會改變變量的默認打印使用{{ }}
語法。
4
當我發佈了這個答案並很快就忘了它,並且upvote提醒了我這個問題,我是一個菜單noob。我成功地使其工作和分享我的解決辦法,如果有人在尋找它:
class DynamicTemplateModel < ActiveRecord::Base
def self.parse_template(template, attrs={})
result = template
attrs.each { |field, value| result.gsub!("{{#{field}}}", value) }
# remove anything that resembles a field but did not match a known field name
result.gsub!(/\{\{\.w+\}\}/, '')
return result
end
end
使用:DynamicTemplate.parse_template(body, details)
其中
details = {first_name: user.first_name, last_name: user.last_name, company: user&.company&.name, email_address: user.email}
和
body = "Hi {{first_name}} {{last_name}}, Your company {{company}} is registered with us successfully"
隨着方法parse_template
d,新機構將如預期。
我對diofeher solution關於更換字符串的主要擔心是安全性。所以用這個來管理。
希望這可以幫助別人。留下任何建議使其更好。謝謝
相關問題
- 1. 動態內容
- 2. ASP.NET動態內容
- 3. jQuery動態內容
- 4. Preg_replace動態內容?
- 5. Rmarkdown動態內容
- 6. 動態JavaScript內容
- 7. WebUserControl動態內容?
- 8. 動態內容mousehover
- 9. 動態html內容
- 10. 動態內容/ CMS
- 11. 動態內容android
- 12. 動態PHP內容
- 13. 動態Ajax內容
- 14. jquery內容動態
- 15. Bootstrap模態動態內容
- 16. 輪動內容動態
- 17. 動態內容綁定ContentControl內容
- 18. 替換動態內容中的動態內容
- 19. JQuery加載動態內容關閉動態內容
- 20. 帶動態內容的動態頁面
- 21. docpad系統中的靜態與動態內容 - 如何創建動態內容?
- 22. dust.js呈現動態內容
- 23. UIWebView動態內容大小
- 24. 網站動態內容
- 25. 動態解析Jade內容
- 26. 動態顯示XML內容
- 27. 的JavaScript動態URL內容
- 28. 寫內容動態iframe
- 29. 列表內容動態地
- 30. 動態加載內容
恐怕我不能這樣做。這是一種非常不安全的方式,並且傾向於SQL注入。我必須用值和'某個'用戶'名字'的值代替'first_name'的圖像是'User.delete_all'。如果在這裏被替換,我的字符串將會像'<%= User.delete_all%>'。我不認爲我需要在這裏說別的。我的數據庫將崩潰,所有數據都消失了。 – Aakanksha
噢,這會被用戶使用嗎?我認爲它只會被你的團隊使用。 – diofeher
這對於最終用戶準備一個模板來說是必需的,在該模板中標籤將被電子郵件應該發送給的用戶的數據替換。我分享了我的解決方案。歡迎提出建議。謝謝 – Aakanksha