我一直在寻找一个模板引擎,让用户可以轻松地在线创建类(class)和练习。似乎是 Liquid是 Rails 中最常用的。 Liquid 用户能否轻松创建 Rails 表单?
通常我在 ERB 中创建表单:
<%= form_for(@lesson) do |f| %>
<% if @lesson.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@lesson.errors.count, "error") %> prohibited this lesson from being saved:</h2>
<ul>
<% @lesson.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div>lots of fields</div>
<% end %>
Rails 会自动插入 CSRF 保护等内容。我可以用 Liquid 做同样的事情吗?我可以在 Liquid 中创建过滤器、标签和/或块来模拟 Rails 表单标签吗?
最佳答案
你可以用 Liquid 注册你自己的标签块,但它不是开箱即用的。
如果您查看 documentation ,您会注意到您可以创建自己的标签块。
您可以注册自己的标签块
class LiquidForm < Liquid::Block
def initialize(tag_name, markup, tokens)
super
end
def render(context)
form_tag("/hello_word") do
input_tag "hello"
end
end
end
Liquid::Template.register_tag('liquid_form', LiquidForm)
然后用液体解析你想要的文本
text = " {% liquid_form %} Form content {% endliquid_form %} "
@template = Liquid::Template.parse(text)
关于ruby-on-rails - Liquid Ruby 模板引擎可以处理 Rails 表单吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15189669/