一直试图让液体 gem 在 rails 中工作
Stuck trying to get the liquid gem to work in rails
我正在构建一个应用程序来更好地学习 rails,并且我正在尝试实施液体 gem
只是想保持简单,这样我就可以通过让@guide.name通过液体模板来让它工作和理解它但是当我把{{ @guide.name }}
放在模板中时它没有完全渲染。
category_item 控制器
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 %>
在@category.template中是
the guide is {{ @guide.name }}
如果我只是将 hello
放在 @category.template 中,它会很好地呈现
我想我应该在 category_item 帮助器中添加一些东西,但我不确定该放什么。或者也许还有其他地方我也应该添加信息。
关注 liquid gem 文档以更好地理解基础知识。在你的情况下 Liquid::Template.parse()
应该是这样的:
<% template = Liquid::Template.parse('the guide is {{ @guide.name }}') %>
<%= template.render('@guide' => @guide) %>
规则:'string {{variable name only}} string '
根据液体 gem 文档示例:
@template = Liquid::Template.parse("hi {{name}}") # Parses and compiles the template
@template.render('name' => 'tobi') # => "hi tobi"
试试这个
<% template = Liquid::Template.parse('the guide is {{ guide_name }}') %>
<%= template.render('guide_name' => @guide.name) %>
基本上将变量的散列作为映射传递到您在模板中使用的变量。
希望对您有所帮助
我正在构建一个应用程序来更好地学习 rails,并且我正在尝试实施液体 gem
只是想保持简单,这样我就可以通过让@guide.name通过液体模板来让它工作和理解它但是当我把{{ @guide.name }}
放在模板中时它没有完全渲染。
category_item 控制器
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 %>
在@category.template中是
the guide is {{ @guide.name }}
如果我只是将 hello
放在 @category.template 中,它会很好地呈现
我想我应该在 category_item 帮助器中添加一些东西,但我不确定该放什么。或者也许还有其他地方我也应该添加信息。
关注 liquid gem 文档以更好地理解基础知识。在你的情况下 Liquid::Template.parse()
应该是这样的:
<% template = Liquid::Template.parse('the guide is {{ @guide.name }}') %>
<%= template.render('@guide' => @guide) %>
规则:'string {{variable name only}} string '
根据液体 gem 文档示例:
@template = Liquid::Template.parse("hi {{name}}") # Parses and compiles the template
@template.render('name' => 'tobi') # => "hi tobi"
试试这个
<% template = Liquid::Template.parse('the guide is {{ guide_name }}') %>
<%= template.render('guide_name' => @guide.name) %>
基本上将变量的散列作为映射传递到您在模板中使用的变量。
希望对您有所帮助