简单表单关联与默认输入类冲突

时间:2016-07-23 11:16:29

标签: ruby-on-rails simple-form

我有一个简单的表格。一切都工作得很好,直到我想要添加一个关联表格。该协会本身工作正常,所以我会跳过这个。保存数据有效。该问题在异常中控制输入类。



<%= simple_form_for @fabmoment do |f| %>
      	
  <%= f.input_field :title %>
  <%= f.label :title %>
  <%= f.error :title %>
  <%= f.input_field :description, rows: 7 %>
  <%= f.label :description %>
  <%= f.error :description %><br><br>
  <%= f.association :machines, as: :check_boxes, 
                               :label_method => lambda { |m| " #{m.name}" } %>
    
<% end %>
&#13;
&#13;
&#13;

如你所见,我非常具体,我把它放在哪里,这是因为我的CSS库(W3.CSS)。问题是在我的初始化程序中,我将"w3-input"类作为输入的默认值。但这对我的关联复选框不起作用。目前我看到标签和输入复选框不是内联的。

如果"w3-input"课程不在那里,情况就不会这样。但我无法移除它,我只能像item_wrapper_tagitem_wrapper_class一样深。

这对他非常讨厌。我昨天忙着这几个小时。

为什么我不能这样做:

&#13;
&#13;
<%= f.association :machines, as: :check_boxes do |m| %>

  <%= m.check_box :machine_id, class: 'w3-check' %>
  <%= m.label :name, class: 'w3-validate' %>

<% end %>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

事实证明,有一个选项可以通过input_htmllabel_html将html属性传递给simple_form标记。 您可以在Here找到所有选项 对于您的上述问题,您可以执行类似

的操作
<%= f.association :machines, as: :check_boxes, input_html:{class: 'w3-check'} ,label_html: {class: 'w3-validate'}%>

这会在所有机器复选框上添加w3-check类,在这些复选框的所有标签上添加w3-validate,然后您可以相应地设置样式