gpt4 book ai didi

ruby-on-rails - Rails HABTM 中间值

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:31 26 4
gpt4 key购买 nike

我必须遵循以下关系:

class Course < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :users
end

class User < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :courses
end

然后我有下表:

create_table :courses_users, :force => true, :id => false do |t|
t.integer :user_id
t.integer :course_id
t.integer :middle_value
end

如何访问(编辑/更新)多对多记录中的中间值?

最佳答案

HABTM 应该只用于存储关系。如果您有任何要存储在关系中的字段,您应该创建另一个模型,例如。 类(class)注册。然后,您将使用此模型创建一个 has_many :through => :course_signups 关系,因此您的模型将如下所示:

class Course < ActiveRecord::Base
has_many :course_signups
has_many :users, :through => :course_signups
end

class CourseSingup < ActiveRecord::Base
belongs_to :course
belongs_to :user
end

class User < ActiveRecord::Base
has_many :course_signups
has_many :courses, :through => :course_signups
end

然后您可以在 CourseSignup 模型中添加您的 middle_value

您可以在 the guide to ActiveRecord associations 中找到更多详细信息.

关于ruby-on-rails - Rails HABTM 中间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13843201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com