2011-08-07 60 views
0

我想创建一个跑步者脚本来建立模型。模型是这样的:Rails 3脚本创建模型

class Day < ActiveRecord::Base 
    has_many :slots 
    attr_accessible :available, :day_date, :venue 
end 

class Slot < ActiveRecord::Base 
    belongs_to :day 
end 

我想使每天有9个插槽的空白天数为100。这是亚军脚本load_days.rb

Day.transaction do 
    (1..100).each do |i| 
    days = Date.today+i 
    Day.create(:available => "Available", :venue => "Pitch_1", :day_date => days) 
    (1..9).each to |j| 
     hours = days.hours+j 
     id = Day.id 
     Slot.create (:time_slot => hours , :day_id => id) 
    end 
end 
end 

我收到以下错误: 脚本/ load_days.rb:8:语法错误,意想不到的tASSOC,期待tCOLON2或 '[' 或 '' Slot.create(:TIME_SLOT =>小时:day_id => ID)

回答

2

您在天类,而不是创建的对象日.ID调用,这应该工作:

Day.transaction do 
    (1..100).each do |i| 
    days = Date.today+i 
    day = Day.create(:available => "Available", :venue => "Pitch_1", :day_date => days) 
    (1..9).each to |j| 
     hours = days.hours+j 
     id = day.id 
     Slot.create (:time_slot => hours , :day_id => id) 
    end 
end 
end 
+0

也有似乎是'(1..9).each到| j |'哪一个应该是'(1..9)。每个do | j |' –

+0

它修复它谢谢。以及马修斯评论我也不得不修复小时=(时间)+ j.hours – kieranwild

+0

和添加时间=时间。现在 – kieranwild