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
我正在使用 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