2011-08-07 59 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