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's valueusing strftime。例如:

<%- 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

明白了,但必须使用传统的 HTML 输入元素,而不是 Rails 助手:

<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 回答