как правильно использовать загрузчик datepicker с ruby ​​на рельсах - PullRequest
0 голосов
/ 02 октября 2018

В моем application.js я добавил:

//= require jquery3
//= require jquery_ujs
//= require bootstrap
//= require bootstrap-datepicker

затем я добавил этого помощника в мой app/helpers/application_helper.rb:

def datepicker (form, field)
    form.text_field(field, data: {provide: "datepicker",
                                  'date-format': 'dd/mm/yyyy',
                                  'date-autoclose': 'true',
                                  'date-today-btn': 'linked',
                                  'date-today-highlight': 'true'}).html_safe
  end

Это моя форма:

<%= form_with(model: test, local: true) do |form| %>
  <% if test.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(myform.errors.count, "error") %> prohibited this test from being saved:</h2>

      <ul>
        <% test.errors.full_messages.each do |message| %>
          <li><%= message %></li>
        <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= form.label :test_name %>
    <%= form.text_field :test_name %>
  </div>

  <div class="field">
    <%= form.label :test_desc %>
    <%= form.text_field :test_desc %>
  </div>

  <div class="field">
    <%= form.label :test_expan %>
    <%= form.text_field :test_expan %>
  </div>

  <div class="field">
    <%= form.label :test_date %>
    <%= datepicker(form, :test_date) %>
  </div>

  <div class="field">
    <%= form.label :ci %>
    <%= form.text_field :ci %>
  </div>

  <div class="field">
    <%= form.label :test_complete %>
    <%= form.check_box :test_complete %>
  </div>

  <div class="field">
    <%= form.label :tester %>
    <%= form.text_field :tester %>
  </div>

  <div class="field">
    <%= form.label :test_other_cons %>
    <%= form.text_field :test_other_cons %>
  </div>

  <div class="actions">
    <%= form.submit %>
  </div>
<% end %>

У меня огромная форма, которая содержит много текстовых полей и флажков, но указатель даты отображается в конце формы, а не под текстовым полем.Я хочу, чтобы календарь отображался прямо под текстовым полем, а не после кнопки отправки.

Как мне решить эту проблему?Я что-то здесь упускаю?

Кроме того, я использую Linux Mint 18.3, Ruby on Rails 5.2.1, и я проверил это на Chromiun 69.0.3497.81 и Firefox 62.0, оба они одинаковые.

1 Ответ

0 голосов
/ 03 октября 2018

Это больше похоже на проблему CSS, чем на Rails.Вы должны убедиться, что вы включили все необходимые CSS-файлы для bootstrap и bootstrap-datepicker, и это должно решить эту проблему.Проверьте файл stylesheets/application.css в вашем проекте на наличие включенных в настоящее время файлов CSS.

...