【发布时间】:2014-09-29 21:51:00
【问题描述】:
我对 Rails 很陌生。我正在尝试查找两个日期之间的日期数组,并在创建特定记录后使用 after_create 自动执行此操作。
我有带有列 project.prep_start 和 project.prep_end.... 的模型项目。两者都类型为 Date。
创建项目记录后,我想查找 project.prep_start 和 project.prep_end 之间的日期数组。
最终,我试图自动创建许多事件记录,其中 Event.occurs_on 日期列与 project.prep_start..project.prep_end 数组中的日期相同....但首先我必须找到数组.
我已经编写了这个关注文件...但它不断抛出“undefined method `each' for nil:NilClass”错误,因为(我认为)我没有创建数组。
我尽量不使用任何宝石,而是全力以赴。
我的关注 (Add_Events.erb) 文件如下所示:
module AddEvents
extend ActiveSupport::Concern
included do
after_create :event_dates, :add_events
end
def event_dates
@project = Project.new
(@project.prep_start..@project.prep_end)
end
def add_events
@event_dates.each do |event_date|
self.events.create!(occurs_on: event_date)
end
end
end
【问题讨论】:
标签: ruby-on-rails arrays date activerecord ruby-on-rails-4