3

Railsのtext_fieldヘルパーを使用して、テキスト入力フィールドの値にstrftimeフォーマットを適用することは可能ですか? レコードの作成または編集に使用するフォームには、calendardateselect JavaScript のバリアントによって入力されるテキスト入力フィールドがあります。テキスト フィールドをクリックすると、小さなカレンダーがポップアップ表示されます。年、月、日、時刻を選択すると、カレンダーが消え、テキスト入力に残っているのは日付のテキスト表現です。それは私がレコードを編集しに行っても同じことです。

その日付がテキスト入力フィールドに表示される方法を変更したいと思います。その日付が表示される他のテンプレートでは、strftime を使用できますが、テキスト入力フィールドの値をフォーマットする方法 (または可能かどうか) がわかりません。

ありがとう。

スティーブ

4

2 に答える 2

6

オプション 1:アプリケーションにデフォルトの時刻形式がある場合は、text_fieldそれを使用します。たとえばconfig/initializers/time_formats.rb、次を含む があるとします。

Time::DATE_FORMATS[:default] = '%m/%d/%Y %I:%M %p'

オプション 2:を直接使用してオーバーライドできtext_fieldます。例えば:valuestrftime

<%- scheduled_at_string = form.object.scheduled_at && form.object.scheduled_at.strftime("%m/%d/%Y") -%>
<%= form.text_field :scheduled_at, :value => scheduled_at_string %>

(ヘルパーを使用してこれをクリーンアップすることもできます。)

于 2009-12-11T00:37:32.297 に答える
0

わかりましたが、Rails ヘルパーではなく、従来の HTML 入力要素を使用する必要がありました。

<input type="text" id="assignment_starts_at" name="assignment[starts_at]" class="jqueryCDS" size="30" value="<%= @assignment.starts_at.strftime('%A, %b %e, %G - %I:%M %p') if @assignment.starts_at %>" />
于 2009-12-15T14:54:23.137 に答える