在rails中使用accepts_nested_attributes_for和datetime

时间:2012-04-30 20:43:23

标签: ruby-on-rails datetime nested-forms datetime-select time-select

我正在尝试使用accepts_nested_attributes_for在rails应用中使用可重复的日期时间段。

我有以下内容:

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

在我看来,我目前正在使用导轨date_selecttime_select

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

任何人都可以放弃任何光明吗?

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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