14

フォームに日付フィールドを追加しようとしています。

bootstrap-datepicker-rails gem、必要なすべての css と javascript を追加しました。

カレンダーで日付を選択して [保存] をクリックしても、データベースで更新されません。

フォームのコードは次のとおりです。

= simple_form_for @model
  = f.input :date_last, :required => true, 
            :input_html => { data: {behaviour: "datepicker"}}, 
            :as => :string
  = f.button :submit, 'Save', :class => 'btn btn-primary'

これはフォーマットに関係していると思いますが、どこを見ればよいかわかりません。

アップデート

デフォルトの形式を yyyy-mm-dd (デフォルトは mm/dd/yyyy) に変更すると機能します。

$('[data-behaviour~=datepicker]').datepicker({"format": "yyyy-mm-dd", "weekStart": 1, "autoclose": true});
4

4 に答える 4

4

同様の問題が発生し、作成アクションでフォーマットを変換すると解決しました:

def create
     .....
     @person.dob = DateTime.strptime(params[:person][:dob], '%m/%d/%Y').to_date
     .....
     @person.save
     .....
end
于 2013-06-06T17:08:52.883 に答える
0

アンドリューのアンサーを使用しました。ローカライズされた月の名前が正しく表示されないことを除いて、私にとってはうまくいきました(たとえば、Julではなく7月)。

date_picker にローカライズされたバージョンを使用する場合の私のアプローチは次のとおりです。

デフォルトでは、bootsrap-datepicker gem はすべての言語バージョンをロードします。

たとえば、英語版とドイツ語版のみをロードする場合は、application.jsを変更する必要があります。

から

//= require bootstrap-datepicker

//= require bootstrap-datepicker/core
//= require bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.js
//= require bootstrap-datepicker/locales/bootstrap-datepicker.de.js

次のステップはBootstrapDatepickerInputを変更することです

ここで必要なのは、言語が特定のパラメーターから動的に選択されることです。

入力メソッド内の入力クラスに次の行を追加します

set_data_option text_field_options, 'date-language', input_html_options[:locale]

私たちの見解では、フォームを次のように呼び出すことができます

= f.input :your_attribute_name, as: :bootstrap_datepicker, input_html: { locale: locale }
于 2015-07-03T10:20:04.223 に答える