2

アプリで jquery ui datepicker をフォームで使用しています。フォームを保存すると、日付フィールドが表示されません。

「jquery-ui-rails」gemをインストールし、application.jsとapplication.cssにrequire jquery ui.allを指定しました

私のコードはビューで次のようになります

 <div>
  <%= f.label :deadline %>
  <%= f.text_field :deadline, :id => "datepicker" %>
</div> 

application.js 内

  $(function() {
$( "#datepicker" ).datepicker({
    minDate: 0
 });
});

フォーム送信時

    Parameters: {"utf8"=>"✓","authenticity_token"=>"aoiDOLAGZHKui85hum7ozJ31QNZopOvmImyOuDyXCw4=", "task"=>{"task"=>"task1", "assigned_to_id"=>"2", "deadline"=>"10/30/2013", "project"=>"", "workspace_id"=>"4"}, "commit"=>"Create", "id"=>"4"}

挿入先:

   INSERT INTO "tasks" ("assigned_to_id", "created_at", "project", "task", "updated_at", "user_id", "workspace_id") VALUES (?, ?, ?, ?, ?, ?, ?)  [["assigned_to_id", 2], ["created_at", Mon, 28 Oct 2013 09:51:22 UTC +00:00], ["project", ""], ["task", "task1"], ["updated_at", Mon, 28 Oct 2013 09:51:22 UTC +00:00], ["user_id", 1], ["workspace_id", 4]]

ここでは、締め切りフィールドは存在しません。nil と表示されます。スペルチェックのためにスキーマもチェックしました...すべてが正しいです。考えられる理由と、これを修正する方法。Plsはこれから私を助けてくれます。

4

1 に答える 1

4

データベースの日付形式に問題がある可能性があり、日付ピッカーから入力しました

日付ピッカーで日付形式を変更します。お気に入り

$(function() {
$( "#datepicker" ).datepicker({
    minDate: 0
    dateFormat: 'dd-mm-YYYY'
 });
});

または、コントローラで日付形式を変更できます。

日付のデフォルト形式は、日付-月-年です。

編集:

多くのデータベースでは、デフォルトのデータ形式はdd-mm-yyyyです

したがって、日付ピッカーから同じデータ形式で日付形式を提供する必要があります。

しかし、jquery ui datepicker では、デフォルトのデータ形式はdd/mm/yyyydb では受け入れられない形式です。そのため、値は db に保存されません。

日付フィールドの日付形式をdd-mm-yyyyとして指定する必要がありますか?

jquery datepicker では、dateFormat: 'dd-mm-yyyy'が日付形式を同じに設定します。

于 2013-10-28T09:58:35.307 に答える