我正在尝试更新其对象的活动记录ID列。这看起来很简单,但它没有像我预期的那样工作。
例如
Lesson.first.update(:chapter_id => Chapter.find_by(:chapter_code => 'base'))
但是此代码正常运行
Lesson.first.update(:chapter_id => Chapter.find_by(:chapter_code => 'base').id)
我尝试在模型之间创建关联,但没有运气。我只想知道为什么我的代码无效!
答案 0 :(得分:0)
在第一个片段中,您传入的对象(Chapter
实例)中需要一个整数,因为您正在尝试分配chapter_id
。这就是第二个片段的工作原理,因为你也得到了章节的整数id。
您还应该能够直接分配关系:
Lesson.first.update(:chapter => Chapter.find_by(:chapter_code => 'base'))