Tag: 导轨型号

连接多次错误显示的连接子模型结果项的查询

我有以下模型,每个模型都是前一个模型的相关子模型(为简洁起见,我排除了其他模型方法和声明): class Course < ActiveRecord::Base has_many :questions scope :most_answered, joins(:questions).order('questions.answers_count DESC') #this is the query causing issues end class Question true has_many: :answers end class Answer true end 现在我只填充了一个Course (所以当我在控制台Course.all.count运行时,我得到1 )。 第一个Course目前有三个填充的questions ,但是当我运行Course.most_answered.count ( most_answered是我在上面看到的Course编写的范围方法)时,我在控制台中得到3 ,这是不正确的。 我已经尝试了查询的各种迭代,以及查询Rails指南查询 ,但似乎无法弄清楚我做错了什么。 提前致谢。

RAILS用户层次结构; class级,协会。 多态?

令我惊讶的是,仍然找到一个明确的答案是多么困难:看起来很常见,我必须把它看错。 我们有用户,他们的授权角色运行类似ROLES =%w [admin moderator老师学生被禁止] 通常建议使用ROLES字段和单表inheritance(如此处 ) class User < ActiveRecord::Base end class Student < User end class Teacher < User end 但是这会将所有数据放在一个表中。 如果我们对每种用户类型都有一个独特的数据,该怎么办? student year:integer request_id:integer portfolio_id:integer status:string … teachers user_id:integer district:string school:string subject1:string subject2:string specialty:string bio:text … STI提供了像student.specialty和teacher.portfolio_id这样的东西,我们不想要这些东西并且必须阻止它们。 Ruby Way建议抽象基础模型类来处理单独的表: class User < ActiveRecord::Base self.abstract = true end class Student < User end […]

Rails关联 – 如何为不同类型的用户设置关联?

我正在创建一个由学校,课程,学生和教师组成的网络应用程序。 学校可以有很多课程,课程有一个老师和很多学生。 我遇到的问题是,单个用户可能是一门课程的老师,而是另一门课程的学生(甚至是不同学校课程中的学生或教师)。 我不想为教师创建模型,也不想为学生创建单独的模型,因为我想在一个地方跟踪所有用户。 有一个登记表,列出了哪些用户在课程中注册为学生。 我想做类似以下的事情: class School < ActiveRecord::Base has_many :courses has_many :students :through enrollments has_many :teachers :through courses end class Course < ActiveRecord::Base has_one :teacher belongs_to :school has_many :students :through enrollments end class User < ActiveRecord::Base has_many :courses has_many :schools end 但是,如果我只有一个用户表而不是两个单独的学生和教师表,这将无法正常工作。 相反,我必须做类似的事情 class School < ActiveRecord::Base has_many :users [that are teachers] has_many […]