ブートストラップ日時ピッカーを自分の Rails プログラムで動作させようとしています。これが私が使用しているフォームです。単純なフォームを使用しています:
<%= simple_form_for(@event, html: {class: "form-horizontal"}) do |f| %>
<%= f.error_notification %>
<%= f.input :title %>
<script type="text/javascript">
$(function() {
$('#datetimepicker1').datetimepicker({
pickTime: false
});
});
</script>
<%= f.input :date, as: :custom %>
<%= f.input :description, as: :text, input_html: {rows: "5"} %>
<div class="form-actions">
<%= f.button :submit, class: "btn btn-primary" %>
</div>
<% end %>
simpleforms の :custom 定義は次のとおりです。
def input
text_field_options = input_html_options.dup
hidden_field_options = input_html_options.dup
text_field_options[:id] = "datetimepicker1"
text_field_options[:class] = 'input-append date form-horizontal'
text_field_options['data-date-format'] = I18n.t('date.datepicker')
hidden_field_options[:id] = "#{attribute_name}_hidden"
return_string =
"#{@builder.text_field(attribute_name, text_field_options)}\n" +
"#{@builder.hidden_field(attribute_name, hidden_field_options)}\n"
return_string = '<div id="datetimepicker1" class="input-append date form-horizontal">
<input data-format="MM/dd/yyyy" type="text">
<span class="add-on">
<i data-time-icon="icon-time" data-date-icon="icon-calendar" class="icon-calendar">
</i>
</span>
' return return_string.html_safe end
私のイベントコントローラーには、イベントの値をログに記録するためのこのコマンドがあります。
Rails.logger.info ("debug:" + @event.to_yaml)
フォームを実行してイベントを作成し、ログを確認すると、次のように表示されます。
debug:--- !ruby/object:Event
属性: id: タイトル: スターキー ミー サルサ 説明: サルサ ミー スウィフトリー 場所: 日付: 出席タイプ: グループサイズ: 作成時: 更新時: ユーザーID: 1
タイトルと説明は問題なく表示されますが、日付: が空白です。あなたが持っているかもしれない提案は大歓迎です.私はこれに非常に慣れていません.私はこれに約2日間苦労しています. ありがとう。