作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在用 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/
我是一名优秀的程序员,十分优秀!