2

Rails 3.2.3およびActive Adminを使用して、sqlite3のローカルデータベースで作業しています。私のフィールドの 2 つは type です。time は sqlite3 の型ではないことがわかっていますが、運用には postgres を使用しています (postgres で両方を行わないという私の選択ではありません)。新規/編集フォームに、次のように入力しました。

  f.input :time_start, :as => :time_select
  f.input :time_end, :as => :time_select

フィールドとして表示されますが (time_select がない場合と同様)、数値を入力して保存しようとすると、次のページでフィールドが空白になります。heroku と postgres を使用してステージングにプッシュしましたが、アクティビティを編集しようとすると、まだ空白になります。ローカル データベースとステージング データベースでその時間フィールドを作成して保存するにはどうすればよいですか?

4

3 に答える 3

1

ちょうど同じ問題に直面しました。これは ActiveAdmin のバグだと思います。

私の一時的な解決策は、t.time を 2 つの対応する t.integer で変更し、次のようにすることです。

f.inputs "Start" do
  f.input :time_start_h, as: :select, collection: 0..23
  f.input :time_start_m, as: :select, collection: 0..59
end
f.inputs "End" do
  f.input :time_end_h, as: :select, collection: 0..23
  f.input :time_end_m, as: :select, collection: 0..59
end

ラフですが、何もないよりはましです。

于 2012-08-03T22:40:33.350 に答える
0

時間フィールドを文字列として設定することで、この問題を回避します。

f.inputs "Start" do
  f.input :start, :as => :string
end

これにより、実際にはドロップダウンよりも好ましいと思われる「2pm」などの入力が可能になります。

于 2013-03-25T17:25:27.337 に答える
0

そのため、time_start と time_end の名前を変更した後、機能しました。その後、動作を停止しました。そのため、日付フィールドは役に立たないにもかかわらず、それらを日時砂に変更しました。

于 2012-08-08T18:37:45.713 に答える