ruby-on-rails - 带有 Bootstrap 的 Rails 简单表单删除验证

标签 ruby-on-rails simple-form

我有一个带有嵌套 has_many 关联的表单,并且一切正常,除非它加载了以前在那里进行编辑的所有字段,在它们旁边有一个复选标记。我发现它与 simple_form 和 bootstrap 有关,但不确定如何禁用它们。表格代码如下:

<%= simple_form_for ([current_user, @character]), defaults: {label: false} do |f| %>
          <div id="tasks">
            <%= f.simple_fields_for :character_levels, f.object.character_levels.order(:id) do |l| %>
              <%= render '/characters/DnD5e/class_fields', f: l, character: @character %>
          <% end %>
          <div class="links">
            <%= link_to_add_association 'Add Level', f, :character_levels, partial: 'characters/DnD5e/class_fields', render_options: {locals: {character: @character}}, class: "btn btn-primary" %>
          </div>
        </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <%= f.submit "Save Changes", class: 'btn btn-primary' %>
      </div>
      <% end %>

继承人的部分:
<div class="row nested-fields">
  <div class="col-6">
    <%= f.input :character_class_id, collection: CharacterClass.where('game_type_id=? AND (user_id IS ? OR user_id=?)', character.game_type_id, nil, current_user) %>
  </div>
  <div class="col-4">
    <%= f.input :hp, as: :integer %>
  </div>
  <div class="col-2">
    <%= link_to_remove_association '<i class="material-icons">close</i>'.html_safe, f %>
  </div>
</div>

这就是它的样子:
enter image description here

想要去掉绿色的勾号

最佳答案

有一个类似的问题,并找到了一个不同的(更好?)解决方案:
config/initializers/simple_form_bootstrap.rb初始值设定项为此包含多个配置:

例如靠近顶部:

  # add validation classes to `input_field`
  config.input_field_error_class = 'is-invalid'
  config.input_field_valid_class = 'is-valid'

再往下:
  config.wrappers :vertical_form, 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.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
    b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback' }
    b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
  end

它说 valid_class: 'is-valid' 在所有不同的地方将其更改为 '' 应该可以解决问题。不要忘记重新启动您的服务器!

关于ruby-on-rails - 带有 Bootstrap 的 Rails 简单表单删除验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56123254/

相关文章:

html - 标签旁边的简单形式问号,在悬停或单击期间显示 Bootstrap 工具提示 - Ruby

ruby-on-rails - 将服务器上的回形针路径文件名更新为 s3

javascript - Rails 简单形式数组文本输入

css - 如何将我的错误消息与 Ruby on Rails 的 Simple_form 对齐?

ruby-on-rails - 将方法委托(delegate)给 ApplicationHelper 中具有相同名称的类方法

css - 简单形式的 Rails - 样式

ruby-on-rails-4 - Rails Simple_Form 添加年份到日期字段

javascript - TypeError : this. 元素为空,Rails with Judge gem

ruby-on-rails - 来自 JSON 文件的 Seed Rails SQLite 数据库

ruby-on-rails - Rails 4 - 有没有办法压缩大图像以使其加载速度更快?