从官方指南中我看到我们可以在表单中使用另一个FormBuilder:
<%= form_for @person, builder: LabellingFormBuilder do |f| %>
<%= f.text_field :first_name %>
<% end %>
但是,如何才能将来自不同宝石的多个表单构建器一起使用? (例如SimpleForm和Bootstrap形式)
答案 0 :(得分:0)
您还可以使用自定义的FormBuilder类构建表单。 然后,子类FormBuilder并覆盖或定义一些更多的帮助器 使用自定义构建器。例如,假设你做了一个帮手 自动添加标签以形成输入。
这意味着您的表单构建器LabellingFormBuilder
需要从类FormBuilder
继承并覆盖或定义更多帮助程序。
方法列表,您可以在here找到。
要使用SimpleForm
,您需要使用simple_form_for
代替form_for
:
<%= simple_form_for @person do |f| %>
<%= f.text_field :first_name %>
<% end %>
简单表单可以轻松集成到Bootstrap
。为此,您必须在安装生成器中使用bootstrap选项,如下所示:
rails generate simple_form:install --bootstrap
答案 1 :(得分:0)
目前无法做到这一点。
表单相关的gem通常是一个扩展ActionView::Helpers::FormBuilder
的类。如果有两个这样的,我们就不能让一个类扩展这些类来获得两者的功能。
除非将来,Rails添加ApplicationFormBuilder
并鼓励宝石作者提供模块以作为其前缀。