1
我有一系列的一些字符串,我想转换为渲染部分。Ruby on Rails .gsub正则表达式和渲染部分
例如。我有一个@ post.content,其中包含
Lopem存有悲SIC阿梅德 * form_34e141443439d1000000 * 的Lorem dolorem * form_f97391de6275724201000000 *
,我要处理。
我试图
content.gsub(/\*form_(.*?)\*/, render(partial: 'forms/render_form', object: CustomForm.where(_id: '\1').first, as: 'form_item'))
但是,这并不做任何事情是正确的,结果只在 “未定义的局部变量或方法`form_item”为#<#:0xb53a2810>” 的错误。
但如果我尝试
content.gsub(/\*form_(.*?)\*/, render(partial: 'forms/render_form', object: '\1', as: 'form_item'))
,并尝试<%= form_item%>的部分,它返回给我一个正确的值 - f97391de6275724201000000
如果我尝试
content.gsub(/\*form_(.*?)\*/, render(partial: 'forms/render_form', object: CustomForm.where(_id: 'f97391de6275724201000000').first, as: 'form_item'))
它的工作方式就像我想要的那样 - 为我提供了一个表单模型来处理。
问题:
我怎么扔从/*form_(.*?)*/正则表达式\ 1值CustomForm.where(_id: '\ 1')第一?
谢谢!那就是诀窍。 –