Simple Form是一个gem,它提供了一种在Rails中为表单生成视图代码的便捷方法。
有没有人有一种很好的方法可以将 * 添加到所需的表单标签,而不必求助于 SimpleForm 等工具? 我不喜欢 SimpleForm 将所有这些奇怪的包装器和类添加到我的
如何创建带有可变输入字段的rails simple_form
我有一个包含许多项目的采购订单模型。 PurchaseOrder 的表单需要变量输入字段,该字段也将保存项目,其中单击“添加”按钮将增加页面中的字段。
将 Rails Active Record 枚举类型与 Simple_Form 结合使用
我声明一个具有枚举类型的模型,例如: 类事件 < ActiveRecord::Base enum event_type: { "special_event" => 0, “动力输出” => 1, ”
Rails 7.1 部分和 simpleform 中的堆栈级别太深
将 Rails 堆栈从 7.0 升级到 7.1 后,我注意到即使没有太多堆栈跟踪,堆栈级别也太深了这些奇怪的错误。据我所知,只有当我有一个简单的...
伙计们,我正在尝试使用 simple_form 渲染部分表单,但我得到了相同属性的重复输入字段。 这是我的表格 <%= simple_form_for post, html: { class: "post form...
使用 simple_form 将“data-x”属性添加到 <form>?
我正在尝试向所有表单添加刺激处理程序: 我查看了 simple_form 中的代码,我看到的唯一选项是添加
我希望占位符字段显示“单击以选择”,但默认占位符仍然显示“选择某些选项” <%= f.input :tag_ids, as: :select, collection: Tag.order(:name), label_metho...
“我遇到了一个问题,在我的计算机上一切看起来都很好,但在手机上却很糟糕。这些字段造成了最大的麻烦;我似乎无法让它们在 o...
我正在使用带有简单表单的 Trix 编辑器的 gem 'trix'。这就是我在表单中所做的: <%= f.input :body, as: :trix_editor %> 我得到“没有找到 trix_editor 的输入”。该文件...
想要将输入字段中的文本格式设置为货币。找到了这个解决方案。 所以输入生成器看起来像这样: def input_group(货币, merged_input_options) “#{@builder.text_field(属性名称,
如何在 Rails 7 中禁用 simple_form 验证
请告诉我如何在 Rails 7 中禁用简单表单验证。 我无法删除验证。无论我使用哪种方式删除验证,它总是声明必须存在。那个...
使用“nested_form”gem 时未定义方法“reflect_on_association”。轨道 5
在我的项目中,我有 API 及其相关的前端部分。我正在使用 Rails 版本 5 。我正在创建两个模型。一是用户,二是资质。下面给出了关联。 类...
为什么这个 has_many :through collection_check_boxes 表单输入不能正确创建记录?
我有一个 has_many :通过 Rails 7 应用程序中的关联设置。 我正在使用 ActsAsBookable gem 来处理活动预订。一个 Event has_many EventExtras 可以从预订中添加,并且
我有一个用户模型,它为新的和编辑操作呈现一个表单父级(使用 simple_form ),这是它的内容: <%= simple_form_for @user do |f| %> <%= f. 我有一个 User 模型,它为 form 和 new 动作渲染 edit 家长(使用 simple_form),这是它的内容: <div> <%= simple_form_for @user do |f| %> <%= f.error_notification %> <%= f.input :its %> <%= f.input :name %> <% if action_name == "edit" %> <%= f.input :apartment, collection: collection_of(User.apartments), as: :radio_buttons %> <% else %> <%= f.input :apartment, input_html: {checked: false}, collection: collection_of(User.apartments), as: :radio_buttons %> <% end %> <%= f.input :flat_no %> <%= f.input :mobile %> <%= f.input :email %> <%= f.button :submit %> <% end %> </div> 这两个操作的单选按钮字段相似,但不同之处在于我不希望在 new 操作中预先选择该字段中的值。发生这种情况是因为我在数据库级别设置了 default:,它会自动选择该值。表单中的 checked HTML 属性检查菜单中的特定值。要取消选中它,必须将属性 checked: 设置为 false 或删除。 我想定义一次单选按钮字段,无论它执行什么操作。如果 action_name == new,则必须取消选中,否则选中。那么,我该如何重构这个字段呢? 我尝试过这样做: <%= f.input :apartment, collection: collection_of(Sabeel.apartments), as: :radio_buttons, input_html: {checked: action_name == "edit"} %> 但这会检查 edit 表单中单选按钮字段的错误值。它检查表单中的最后一个值。发生这种情况是因为 HTML 中的所有 checked 属性都设置为值 checked,并且由于单选按钮类型只能通过一个值进行检查,因此将检查最后一个值。但对于 new 操作,未设置 checked 属性,因此默认情况下不会选择任何值。 任何其他想法也欢迎!谢谢! 当您创建@user时,我只需在控制器中执行此操作: def new @user = User.new apartment: nil end
情况 有一个简单的形式,我将其抽象部分发布在下面: <%= f.label :net %> &l... 情况 有一个简单的形式,我将其抽象部分发布在下面: <div class="form-group"> <%= f.label :net %> <div class="input-group w-50"> <%= f.text_field :net, required: true, class: 'form-control text-right' %> <div class="input-group-append"> <span class="input-group-text" style="width: 40px;">€</span> </div> </div> </div> & <div class="form-group"> <%= f.label :vat_rate, t('in_invoice.form.vat_rate') %> <%= render 'home/shared/standard_vat' %> <div class="input-group w-50"> <%= f.text_field :vat_rate, required: true, class: 'form-control text-right' %> <div class="input-group-append"> <span class="input-group-text" style="width: 40px;">%</span> </div> </div> </div> 型号: ... validates :net, :number, :vat_rate, presence: true validates :net, numericality: { greater_than: 0} validates :vat_rate, numericality: { only_integer: true, greater_than_or_equal_to: 0} validates :net, numericality: true ... 我的问题 我想在表单中的 vat_rate(屏幕截图:“增值税税率(%)”)标签上添加一个星号。但由于某种原因,它只出现在 :net 和 :number 字段上,尽管它们相等(例如删除中间的部分,包括存在验证),如屏幕截图中所示。 (我认为这并不重要,但形式是用 simple_form 初始化的 simple_form_for) 星号是通过简单的形式添加的。当您传递文本作为第二个参数时,您会覆盖所有内容。如果您想保留 * 传递文本作为选项: <%= f.label :vat_rate, label: t('in_invoice.form.vat_rate') %> # ^^^^^^ https://github.com/heartcombo/simple_form/blob/v5.3.0/lib/simple_form/form_builder.rb#L319 如果您的 simple_form 看起来不像这样,那么您就错过了简单形式的要点: <%= simple_form_for @invoice do |f| %> <%= f.input :net %> <%= f.input :vat_rate %> <% end %> 您应该只配置一次输入并仅使用input助手: https://github.com/heartcombo/simple_form/tree/main#configuration 例如: # config/initializers/simple_form.rb module InputGroup def append(wrapper_options = nil) template.content_tag(:span, options[:append], class: "input-group-text") end end SimpleForm.include_component(InputGroup) SimpleForm.setup do |config| # https://github.com/heartcombo/simple_form-bootstrap config.wrappers :group, tag: "div", class: "form-group", error_class: "form-group-invalid", valid_class: "form-group-valid" do |b| b.use :html5 b.use :placeholder b.optional :maxlength b.optional :minlength b.optional :pattern b.optional :min_max b.optional :readonly b.use :label b.wrapper :input_group_tag, tag: "div", class: "input-group-append" do |ba| ba.use :input, class: "form-control", error_class: "is-invalid", valid_class: "is-valid" ba.optional :append end b.use :full_error, wrap_with: {tag: "div", class: "invalid-feedback d-block"} b.use :hint, wrap_with: {tag: "small", class: "form-text text-muted"} end end <%= simple_form_for @invoice do |f| %> <%= f.input :net, wrapper: :group, append: "€" %> <%= f.input :vat_rate, wrapper: :group, append: "%" %> <% end %>
Rails + Simple Form - 创建带有两个按钮的表单?
我正在尝试创建一个带有两个按钮的表单。一个是提交按钮,但我还希望有第二个按钮,如果它不存在,则允许创建表单所需的元素...
新开发人员尝试为 Round Oval 和 Banana 选项分配不同的 id,以便可以在选择时启动操作: <%= f.input :content, label: 'Fruit Shape', :collection => %w[圆形椭圆形巴...
如何在 Ruby on Rails 中使用 Flatpickr 分配范围内的开始和结束日期
我已经奋斗了 3 个小时,因为我在 Stimulus JS 日期选择器控制器中添加了模式:范围,该控制器在显示上工作。 但在逻辑上,我不知道如何从两个简单地减少到一个
我正在使用简单形式的 gem 来渲染我的表单。我正在尝试将输入字段类型设置为“数字”。此代码不起作用: f.input :amount, input_html: { type: 'number' } 什么是正确的...
我有 Person 和 Fingerprint 类,我想使用嵌套表单来填充 Fingerprint 的属性。 实现如下: 类人 < ApplicationRecord