2011-08-07 4 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 : 8 : 이것은 주자 스크립트 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 

나는 다음과 같은 오류를 얻고있다 '.'구문 오류, 예기치 못한 tASSOC, tCOLON2 또는 기대 '['또는 Slot.create (: time_slot => 시간 : day_id => ID)

대신 만든 날 개체의 날 클래스에 .ID 호출

답변

2

이 작동합니다 :

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 to | j |'(1..9) .each do | j |' –

+0

이되어서 고마워하는 줄'(1..9)로 보인다. 뿐만 아니라 Matthews 코멘트뿐만 아니라 시간 = (시간) + j.hours – kieranwild

+0

수정하고 시간 = Time.now 추가해야했습니다. – kieranwild