gpt4 book ai didi

ruby-on-rails - ruby rails 3.1 : Am I setting this relationship up correctly?

转载 作者:数据小太阳 更新时间:2023-10-29 08:40:22 25 4
gpt4 key购买 nike

我正在用 Ruby on Rails 3.1 制作我的第一个应用程序....我是否正确设置了这些关系?从本质上讲,学生/客户将能够登录并对教师进行评分。一个客户可以有很多老师,一个老师可以有很多客户。每个客户都可以为特定教师创建评级(教师不能对客户进行评级)。评级是可选的。

我打算能够显示来自不同客户的教师评分,还允许客户登录并对他们拥有的所有教师进行评分。

class Client < ActiveRecord::Base
has_many :ratings
has_and_belongs_to_many :teachers
end

class Teacher < ActiveRecord::Base
has_many :ratings
has_and_belongs_to_many :clients
end

class Rating < ActiveRecord::Base
belongs_to :teacher
belongs_to :client
end

最佳答案

我想说的是,当您只有一个数据库表而不是 Rails 模型来连接模型时,应该使用 has_and_belongs_to_many 的用法。在您的情况下,由于您确实有一个名为 Rating 的模型,所以我会说最好使用 has_many, :through

为此,将您的 Teacher 和 Client 模型更改为如下所示:

class Client < ActiveRecord::Base
has_many :ratings
has_many :teachers, :through => :ratings
end

class Teacher < ActiveRecord::Base
has_many :ratings
has_many :clients, :through => :ratings
end

评级模型不需要任何改变。

关于ruby-on-rails - ruby rails 3.1 : Am I setting this relationship up correctly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8513649/

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