gpt4 book ai didi

ruby-on-rails - Liquid Ruby 模板引擎可以处理 Rails 表单吗?

转载 作者:行者123 更新时间:2023-12-04 06:08:15 25 4
gpt4 key购买 nike

我一直在寻找一个模板引擎,让用户可以轻松地在线创建类(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com