Ruby on rails 试图让液体宝石在轨道上工作时卡住了

Ruby on rails 试图让液体宝石在轨道上工作时卡住了,ruby-on-rails,ruby-on-rails-4,rubygems,liquid,Ruby On Rails,Ruby On Rails 4,Rubygems,Liquid,我正在构建一个应用程序来更好地学习rails,我正在尝试实现liquid gem 只是想让它保持简单,这样我就可以通过液体模板传递@guide.name来让它工作并理解它,但是当我在模板中放入{{@guide.name}时,它根本不会呈现 类别项目控制器 def show @guide = Guide.friendly.find(params[:guide_id]) @category = Category.friendly.find(params[:category_id]

我正在构建一个应用程序来更好地学习rails,我正在尝试实现liquid gem

只是想让它保持简单,这样我就可以通过液体模板传递@guide.name来让它工作并理解它,但是当我在模板中放入
{{@guide.name}
时,它根本不会呈现

类别项目控制器

def show
     @guide = Guide.friendly.find(params[:guide_id])
     @category = Category.friendly.find(params[:category_id])
     @category_item = Category.friendly.find(params[:category_id]).category_items.friendly.find params[:id]
end
show.html.erb

<% template = Liquid::Template.parse(@category.template) %>

<%= template.render %>
如果我只是把
hello
放在@category.template中,它会呈现良好效果


我想我应该在category_item helper中添加一些东西,但我不确定要在其中添加什么。或者我还应该在其他地方添加信息。

遵循liquid gem文档以更好地理解基础知识。在您的例子中,
Liquid::Template.parse()
应该是这样的:

 <% template = Liquid::Template.parse('the guide is {{ @guide.name  }}') %>
 <%= template.render('@guide' => @guide) %>

遵循liquid gem文档以更好地理解基础知识。在您的例子中,
Liquid::Template.parse()
应该是这样的:

 <% template = Liquid::Template.parse('the guide is {{ @guide.name  }}') %>
 <%= template.render('@guide' => @guide) %>
试试这个

<% template = Liquid::Template.parse('the guide is {{ guide_name  }}') %>
<%= template.render('guide_name' => @guide.name) %>

@指南名称)%%>
基本上,将变量的散列作为映射传递给模板中使用的变量

希望这有帮助

试试这个

<% template = Liquid::Template.parse('the guide is {{ guide_name  }}') %>
<%= template.render('guide_name' => @guide.name) %>

@指南名称)%%>
基本上,将变量的散列作为映射传递给模板中使用的变量


希望这会有所帮助

这并不意味着听起来很难,但如果你只是在学习Rails,为什么要使用这样一个非标准的诱人引擎呢?看起来好像有人试图在Ruby中重新实现PHP Smarty,这对我来说毫无意义……这是我试图构建的应用程序的主要解决方案。所以用户可以编辑页面模板并不意味着听起来很难,但如果你只是在学习Rails,为什么要使用这样一个非标准的诱人引擎呢?看起来好像有人试图在Ruby中重新实现PHP Smarty,这对我来说毫无意义……这是我试图构建的应用程序的主要解决方案。因此,用户可以编辑页面模板,直到只输出“指南是”,然后什么都没有。他们示例中的“hi toby”植入可以工作,但我无法获得@guide to work之类的变量。你确定
@guide
已初始化吗?你能给我看一下
@guide的输出吗。检查
还是只输出“指南是”,然后什么都没有。他们示例中的“hi toby”植入可以工作,但我无法获得@guide to work之类的变量。你确定
@guide
已初始化吗?你能给我看一下
@guide.inspect的输出吗