【问题标题】:formtastic removing hidden fields (day/month) in date_select删除 date_select 中的隐藏字段(日/月)
【发布时间】:2014-07-16 13:24:54
【问题描述】:

我在 Rails 4.1 中使用 Formtastic

我已经设置了日期输入order: [:year],因为我只想捕获年份,而不关心月份和日期。我知道您也可以使用discard_day: truediscard_month: true,但添加这些选项似乎没有任何区别。

问题在于,在我生成的 HTML 中,月份和日期字段是隐藏的(正如我希望的那样),但仍然在它们的 Bootstrap 列中占用大量空间。我希望它们隐藏起来并且不占用任何空间,因为它们会弄乱我的格式。

#erb
<div class="row">
  <%= f.inputs do %>
    <div class="form-group nested-fields">
      <div class="col-md-2">
        <%= f.input :date, order: [:year], start_year: Time.now.year - 100, end_year: Time.now.year %>
      </div>
      <!-- ./col-md-2 -->

      <div class="col-md-8">
        <%= f.input :description %>
      </div>
      <!-- ./col-md-8 -->

      <div class="col-md-2 fields">
        <%= link_to_remove_association "Remove previous operation", f %>
      </div>
      <!-- ./col-md-2 -->

    </div>
    <!-- ./form-group -->

  <% end %>
  <%# f.inputs %>
</div>
<!-- ./row -->

#Rendered HTML
<div class="row">
  <div id="previous_operations">

    <div class="row">
      <fieldset class="inputs">
        <div class="form-group nested-fields">
          <div class="col-md-4">
            <div class="date_select input optional form-group"id="patient_previous_operations_attributes_0_date_input"><label class="  control-label" for="patient_previous_operations_attributes_0_date">Date</label>
              <span class="form-wrapper">
                <input id="patient_previous_operations_attributes_0_date_2i" name="patient[previous_operations_attributes][0][date(2i)]" type="hidden" value="1" />
                <input id="patient_previous_operations_attributes_0_date_3i" name="patient[previous_operations_attributes][0][date(3i)]" type="hidden" value="1" />
                <div class="row">
                  <div class="col-xs-4"><select class="form-control" id="patient_previous_operations_attributes_0_date_1i" name="patient[previous_operations_attributes][0][date(1i)]" placeholder=".col-xs-4">
                      <option value=""></option>
                      ...
                      <option value="2014">2014</option>
                    </select>
                  </div>
                </div>
              </span>
            </div>
          </div>
          <!-- ./col-md-4 -->

特别注意这几行

            <input id="patient_previous_operations_attributes_0_date_2i" name="patient[previous_operations_attributes][0][date(2i)]" type="hidden" value="1" />
            <input id="patient_previous_operations_attributes_0_date_3i" name="patient[previous_operations_attributes][0][date(3i)]" type="hidden" value="1" />
            <div class="row">
              <div class="col-xs-4"><select class="form-control" id="patient_previous_operations_attributes_0_date_1i" name="patient[previous_operations_attributes][0][date(1i)]" placeholder=".col-xs-4">

前两个(date_2i 和 date 2i 输入)是按需要隐藏的月份和日期字段,但仍占据屏幕的一大块。

后者 (date_1i) 是我想要占用所有三个当前占用的空间的年份选择(两个是不可见的)。出于某种原因,formtastic 将“col-xs-4”类添加到年份控件中,我认为这是问题所在,我不知道为什么或如何将其关闭。

帮助表示赞赏。

【问题讨论】:

    标签: html css ruby-on-rails ruby-on-rails-4 formtastic


    【解决方案1】:

    您可以使用以下方法隐藏这些字段:

    discard_hour: true, discard_minute: true
    

    【讨论】:

      猜你喜欢
      • 2014-05-13
      • 2019-01-11
      • 2018-08-21
      • 1970-01-01
      • 2011-12-06
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多