1

Meetingオブジェクトを作成しようとしていますが、その間、Meetingオブジェクトが属するCourseオブジェクトの属性をオーバーライドします。

これが私のモデルです:

class Course < ActiveRecord::Base
  attr_accessible :name, :description
end

class Meeting < ActiveRecord::Base
  attr_accessible :name
  belongs_to :course
end

これが私の定義です:

factory :course, class: Course do
    name      "Generic Course Name"
    description: "Very cheap"
end

factory :meeting, class: Meeting do
  name "Meeting name"
  course
end

これが私がやろうとしていることです:

FactoryGirl.create(:meeting) do |meeting| 
    meeting.course.name = "other name"
end

ただし、コース名をデフォルトから上書きできないようです。Meeting.course.name="othername"をmeeting.name="other name"に置き換えるだけで、会議名をうまくオーバーライドできますが、belongs_toオブジェクトにアクセスしても目的の効果は得られません。

どんな助けでもいただければ幸いです。

ありがとうございました。

4

1 に答える 1

3

どうですか?

course = create(:course, name: "My Course Name")
create(:meeting, course: course)
于 2013-03-04T19:34:17.670 に答える