问题描述
这是在 Rails 4.2.11.3 上。我有一个 has_many
through
关系设置如下:
class ProgramCourse < ActiveRecord::Base
belongs_to :course
belongs_to :program
end
class Course < ActiveRecord::Base
has_many :program_courses
has_many :programs,-> { uniq },through: :program_courses
end
class Program < ActiveRecord::Base
has_many :program_courses
has_many :courses,through: :program_courses
end
如果我创建这样的课程:
c = program.courses.create(name: 'Amazing Course')
ProgramCourse
记录与新的 Course
一起创建。但是,如果我这样做:
c = program.courses.new(name: 'Amazing Course')
c.save
仅创建 Course
。这是一个错误吗?我的关系在语法上有什么问题吗?谁能解释为什么这两个不同?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)