Rails simple_form gem 正在为预先填充的输入添加绿色边框

Jac*_*ard 3 ruby ruby-on-rails simple-form bootstrap-4

我在使用 rails simple_form gem 时遇到问题。我正在使用 bootstrap 4。

我已经通过添加gem 'simple_form'到 Gemfile 来安装 gem 。我还通过rails g simple_form:install --bootstrap.

Simple Form 在我的应用程序中几乎完美运行。这是一个使用名为“Store”的模型的示例,该模型具有一个字符串属性:“name”。

<%= simple_form_for @store do |f| %>
  <%= f.input :name %>
  <%= f.button :submit, class: "btn-primary" %>
  <%= link_to "Cancel", stores_url, class: %w[btn btn-danger] %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我在这段代码中遇到的唯一问题是,当表单用于更新页面时,simple_form 会向输入元素添加一个“.is-valid”类,这会导致引导程序向该字段添加绿色边框。如果该字段未预先填写,例如使用表单进行“新”操作时,则不会发生这种情况。

谢谢

Mar*_*itt 5

config/initializers/simple_form_bootstrap.rb你有几个不同的块以config.wrapper. 您可以从中删除对valid_class: 'is-valid'它们的任何引用,以便它不再包含在您的表单输入中。IE...

改变这个

config.wrappers :vertical_form, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
  ...
  b.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
  ...
end
Run Code Online (Sandbox Code Playgroud)

为此(通过删除valid_class

config.wrappers :vertical_form, tag: 'div', class: 'form-group', error_class: 'form-group-invalid' do |b|
  ...
  b.use :input, class: 'form-control', error_class: 'is-invalid'
  ...
end
Run Code Online (Sandbox Code Playgroud)

error_class如果您不希望包含它,您也可以删除对的引用。