Rails 5在check_box_tag标签

时间:2017-06-03 05:29:24

标签: ruby-on-rails twitter-bootstrap css3

我真的无法找到解决方法,我相信你可以指导我找到解决方案。 我希望在一周中的每一天都有一行复选框,以便在选定的工作日安排培训课程,我的控制器中的代码是:

# GET /eventos/forma_prog
def forma_prog
  @entrenadores = User.all
  @dias = ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"]
end

我的表单代码是:

<div class="well">
  <%= label_tag :dias %>
  <div class="form-group checkbox-inline">
    <% @dias.each do |day| %>
      <%= day %><%= check_box_tag 'dias[]', day, checked = false %>
    <% end %>
  </div>
</div>

生成的HTML是:

<div class="form-group checkbox-inline">
"                                                                  
                                                 Dom"
<input type="checkbox" name="dias[]" id="dias_" value="Dom">
"                                                                  
                                                 Lun"
<input type="checkbox" name="dias[]" id="dias_" value="Lun">
"                                                                  
                                                 Mar"
<input type="checkbox" name="dias[]" id="dias_" value="Mar">

等等。不需要告诉你Rails在字符串中生成的额外空间太多会破坏我的理智和形式, Rendered

问题是如何避免/摆脱那些不需要的空间?

我正在使用Rails-Bootstrap,这是我从浏览器(Chrome)开发人员工具获取的样式代码:

 .checkbox-inline {
        position: relative;
        padding-left: 20px;
        margin-bottom: 0;
        vertical-align: middle;
        font-weight: normal;
        cursor: pointer;
   }
  custom.self-d93…ss?body=1:3933
 .form-group {
        margin-bottom: 15px;
   }

当我试图解决这个问题时,我确实将表单代码变为:

<div class="well">
  Dias
  <div class="form-group checkbox-inline">
    <% @dias.each do |day| %>
      <%= label_tag day, day, class: "checkbox-inline" %><%= check_box_tag 'dias[]', day, checked = false %>
    <% end %>
  </div>
</div>

仍然没有工作......

1 个答案:

答案 0 :(得分:0)

感谢Gerry的评论,我找到了问题的解决方案,它在CSS中,所以我确实将代码更改为:

<div class="well">
    <% @dias.each_with_index do |day, index| %>
      <%= label_tag day, day, class: "checkbox-inline nopadding"; %>
      <%= check_box_tag 'dias[]', index, checked = false, class: "nopadding" %>  |
    <% end %>
</div>

然后在我的custom.scss文件中定义.nopadding类,如下所示:

.nopadding {
   padding: 1px !important;
   margin: 3px !important;
   width: inherit;
 }

谢谢=)