bootstrap-datepicker-rails 选项未应用

bootstrap-datepicker-rails options not applied

我正在使用 rails-bootstrap-datepicker(最新版本的日期)来实现日期选择器,但是当日历呈现并正常工作时,除了 format属性。

我试过使用助手渲染表单和选项:

index.html.erb

<%= form_with scope: :submission, local: true do |form| %>

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

  <p>
    <%= form.submit %>
  </p>
<% end %>

application_helper.rb

  def datepicker(form, field)
    form.text_field(field, data: { provide: "datepicker", 
    'date-format': 'dd/mm/yyyy', 
    'weekStart': 1, 
    'maxViewMode': 2, 
    'multidate': true, 
    'daysOfWeekHighlighted': "0,6", 
    'calendarWeeks': true }).html_safe
  end

以及使用 jquery:

index.html.erb

<%= form_with scope: :submission, local: true do |form| %>

  <div class="datepicker" data-provide='datepicker'>
    <%= form.label :dates %>
  </div>

  <p>
    <%= form.submit %>
  </p>
<% end %>

<script>
 $('#datepicker').datepicker({
   format: "dd/mm/yyyy",
   weekStart: 1,
   maxViewMode: 2,
   multidate: true,
   daysOfWeekHighlighted: "0,6",
   calendarWeeks: true
 });
</script>

但据我所知,我只获得了选择器的默认选项,而不是我指定的 format 以外的选项。我还验证了 jquery 确实已加载并且 运行,所以这不应该是问题所在。

在我的 application.js:

//= require jquery
//= require bootstrap-datepicker

在我的 application.css:

 *= require bootstrap-datepicker3

我在浏览器控制台中没有看到任何错误。

我的 Gemfile 中的相关行:

gem 'bootstrap-datepicker-rails'

gem 'bootstrap', '~> 4.2', '>= 4.2.1'

gem 'jquery-rails', '~> 4.3', '>= 4.3.3'

在这里回答我自己的问题以防其他人遇到它。

如果使用助手,所有选项都必须以 date- 为前缀,否则它们将不起作用。这就是为什么只有 date-format 对我有用的原因。我相信 属性 是这样命名的,并且前缀不适用于其余选项。因此,在我的例子中,助手中指定选项的工作版本如下所示:

def datepicker(form, field)
    form.text_field(field, data: { provide: "datepicker", 
    'date-format': 'dd/mm/yyyy', 
    'date-weekStart': 1, 
    'date-maxViewMode': 2, 
    'date-multidate': true, 
    'date-daysOfWeekHighlighted': "0,6", 
    'date-calendarWeeks': true }).html_safe
end