0

我正在尝试使用 accept_nested_attributes_for 在 Rails 应用程序中使用可重复的日期时间部分。

我有以下内容:

accepts_nested_attributes_for :meetings, :allow_destroy => true, :reject_if => lambda { |a| a[:starting_at].blank? }

在我看来,我目前正在使用 railsdate_selecttime_select.

虽然它不会保存提交,但我认为这是因为它是starting_at一个多部分的日期时间属性。我a[:starting_at].blank?过去在使用 text_fields 时使用过,但它似乎不适用于 date_select/time_select 字段。

任何人都可以解释一下吗?

我的另一个选择是使用 atext_field但我不知道如何做到这一点,以便日期和时间很容易(并且用户友好地选择),因为如果我使用f.text_field :starting_at它将日期和时间结合在一个文本字段中.

4

2 回答 2

0

最后,最简单的方法是使用text_field. 我现在只需要找到一个日期时间选择器(可能是 jquery UI 之一)。

于 2012-06-15T08:33:11.240 回答
0

您可以轻松使用 text_field,并找出最好的方法。

你保持在你的视野中

f.text_field :starting_at

在您的模型中:

def starting_at=(input)
  # use a shared converter to convert the format from your textfield
  x = self.string_to_date(input, I18n.t('date.formats.default'))
  write_attribute(:starting_at, x)
end

def starting_at
  # Same but in reverse
  return date_to_string(read_attribute(:starting_at), I18n.t('date.formats.default') )
end
于 2012-04-30T23:34:40.777 回答