我这里有两个模型,课程和学习单元,学习单元包含课程的内容。
这是两个模型:
class Studyunit < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :courses
class Course < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :studyunits
问题是向课程添加学习单元似乎会更新课程。studyunits 属性,但不是 studyunit.courses。rspec 代码的摘录:
before(:each) do
course.studyunits << studyunit
Studyunit.connection.clear_query_cache
end
it "should be associated with a course" do
course.studyunits.first.should_not eql(nil)
studyunit.courses.first.should_not eql(nil)
end
第一个条件通过,第二个条件失败。如何解决这个问题?我需要在我的代码中访问双方。我尝试按照这个线程清除查询缓存,但它没有解决问题。