0

小規模な写真ビジネス向けのスケジューリング アプリを作成しています。私は Trent Richardson の jQuery TimePicker アドオン (jQueryUI dateselect を拡張する) を使用しています: https://github.com/trentrichardson/jQuery-Timepicker-Addon時間は割り当てのスケジュール設定の重要な部分であるためです。

既存のレコードを編集するには、jQuery ウィジェットに関連付けられているテキスト入力フィールドに strftime フォーマットを提供する必要があります (そうしないと、時間部分が既存のコンテンツにデフォルト設定されません)。

以下は、新しいレコードを作成するのに最適です。

<%= f.input :starts_at, :as => :string %>

以下は、既存のレコードを編集するのに最適です。残念ながら、新しいレコード (既存の「starts_at」コンテンツがない) を作成しようとすると、Rails アプリが異常終了します。

<%= f.input :starts_at, :as => :string, :input_html => { :value => localize(f.object.starts_at, :format => "%m-%d-%Y %I:%M %P") } %>

私は一生、そのフィールドの既存のコンテンツを (フォームで) テストする方法を理解し、それによってフォーマットを提供するかどうかを理解できません。どんな提案にもとても感謝しています。

スティーブ

4

2 に答える 2

2

私は慎重に楽観的です。これは私の状況では(カスタム入力タイプを必要とせずに)機能しているようです:

<% if @assignment.new_record? %>
  <%= f.input :starts_at, :as => :string %>
  <% else %>
  <%= f.input :starts_at, :as => :string, :input_html => { :value => localize(f.object.starts_at, :format => "%Y-%m-%d %I:%M %P") } %>
<% end %>

繰り返しますが、assignments.js.coffee でこれを使用します (jQuery プラグインが機能するには一致する必要があるため):

dateFormat: 'yy-mm-dd',
timeFormat: 'hh:mm tt'

失敗した f.input ステートメントで条件をインラインにしようとしていたので、:starts_at フィールドの値をテストしようとしましたが、同様に失敗しました。これが新記録かどうかのテストはうまくいっているようです。とにかく私の状況のた​​めに。

于 2013-07-04T19:31:10.480 に答える