0

レコードを更新するときに、入力の 1 つが TIME データ型を選択しているフォームがあります。Simple Form と Jquery Timepicker を使用しています。

レコードはデータベースに正しく保存されますが、レコードがリロードされると、ビューに午後 8 時または 20:00 として表示されます。

このデフォルトの午後 8 時に対して、データベース内の時間をフィールドに正しく表示するにはどうすればよいですか?

景色

<%= f.input :mondayopen, :as => :string, :label => 'Opens at', :input_html => { :class => 'mondayo' } %>

データベース

CREATE TABLE `stores` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `storeimage` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `storename` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `storemessage` text COLLATE utf8_unicode_ci,
  `mondayopen` time DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

コントローラ

  def update
    @store = Store.find(current_user.store.id)
    if @store.update_attributes(params[:store])
      flash[:success] = "Store has been updated"
      render 'edit'
    else
      render 'edit'
    end
  end

これがユーザーの見方です ここに画像の説明を入力

これがデータベースにあるものです ここに画像の説明を入力

4

1 に答える 1

0

@ Cadence96で提案されているように、データベースの Time 列を文字列に変更することになりました。それはうまくいきました。

于 2012-12-30T16:59:00.187 に答える