2014-03-27 8 views
0

나는 레일 n00b이고 레일 프로토 타입을위한 시드 파일을 생성하려고 시도하고있다. 여기 내 모델은 다음과 같습니다.db : seed로 외래 키 값 설정

class Planning::Visit < ActiveRecord::Base 
    has_many :planning_tasks, class_name: "Planning::Task" 
end 

class Planning::Task < ActiveRecord::Base 
    belongs_to :planning_visits, class_name: "Planning::Visit" 
end 

20 개의 항목으로 방문했는데 문제가 없습니다. 각 작업에 임의의 기존 방문이 할당 된 여러 항목으로 작업을 분류하고 싶습니다.

task_list.each do |name, title, description, ship, hours| 
    @task = Planning::Task.create(name: name, title: title, description: description, ship: ship, manhours: manhours) # Create the base task 
    @visit = Planning::Visit.find(:all, select: 'id', order: 'RANDOM()', limit: 1) # Find a random visit 
    @task.planning_visit_id = @visit.id # Assign the random visit to the Task 
    @task.save # Save the task 
end 

을 실패 작업을 생성하지만, 그들에게 할당 된 planning_visit_id이 없습니다

task_list.each do |name, title, description, ship, hours| 
    Planning::Task.create(name: name, title: title, description: description, ship: ship, manhours: manhours, planning_visit_id: Planning::Visit.find(:all, select: 'id', order: 'RANDOM()', limit: 1)) 
end 

FAIL : 나는 행운과 함께 다음의 각을 시도했습니다.

내 스키마는 다음과 같이 정의된다

:

나는 밖으로 찢어 머리에서 실행하고 그리고 벽에 구멍을 넣어으로
create_table "planning_visits", force: true do |t| 
    t.integer "visit_number" 
    t.date  "start_date" 
    t.date  "end_date" 
    t.string "station" 
    t.string "ship" 
    t.string "priority" 
    t.text  "notes" 
    t.boolean "lock_date" 
    t.boolean "lock_station" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    t.boolean "has_issue" 
    t.string "issue_severity" 
end 

create_table "planning_tasks", force: true do |t| 
    t.string "name" 
    t.string "title" 
    t.string "description" 
    t.string "ship" 
    t.integer "manhours" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    t.integer "planning_visit_id" 
end 

는 여기에 몇 가지 도움을 주셔서 감사합니다 정말겠습니까

답변

1

belongsTo를이 단수 :planning_visit

.

documentation for belongsTo relation

+0

나는 설명서를 읽었으며 복수형과 단수를 알고있었습니다. 나는 벽에 구멍을 내고 대머리가되어 버리는 과정에서 그 비트를 들여다 보았다. 수정되고 제 시드가 작동 중입니다. 감사! – ultimatemonty