【问题标题】:Set Default Classes For Submit Button In Simple Form以简单的形式为提交按钮设置默认类
【发布时间】:2026-01-12 18:15:01
【问题描述】:

我在 Rails 3.2 中使用Simple Form。我目前正在向我的应用程序中每个表单的提交按钮添加相同的类。有很多形式,所以这不是很干。

<%= f.button :submit, class: "form-submit" %>

有没有办法将简单表单​​配置为对所有提交按钮使用默认类?

【问题讨论】:

    标签: ruby-on-rails forms button ruby-on-rails-3.2 simple-form


    【解决方案1】:

    实际上可以以简单的形式为按钮添加默认类。 在 config/initializers/simple_form.rb 中:

    SimpleForm.setup do |config|
      # Default class for buttons
      config.button_class = 'btn form-submit'
    end
    

    以简单形式 3.0.1 测试 请记住在更改初始化程序目录中的文件后重新启动服务器。

    【讨论】:

    • 这似乎只适用于f.button :submit,不适用于f.submit。有没有办法让它对两者都有效?
    • 只要确保如果您使用引导程序安装了简单的表单,您将更改 simple_form_bootstrap.rb 而不是 simple_form.rb
    【解决方案2】:

    我认为不可能在配置文件中为提交按钮添加默认类。

    但是,如果这真的让您感到困扰,您可以更改表单的生成器并为提交按钮添加默认类。

    将默认的form template 复制到lib/generators/simple_form/templates/_form.html.erb 并进行更改。现在,如果调用表单创建任务,将使用此模板。

    【讨论】:

    • 正如 Gee-Bees 的回答所说,这是完全可能的。