Ruby on rails Rails 4设置与HABTM的关系
我有两个现有的模型-学校和用户Ruby on rails Rails 4设置与HABTM的关系,ruby-on-rails,ruby-on-rails-4,has-and-belongs-to-many,Ruby On Rails,Ruby On Rails 4,Has And Belongs To Many,我有两个现有的模型-学校和用户 class School < ActiveRecord::Base has_and_belongs_to_many :users class User < ActiveRecord::Base has_and_belongs_to_many :schools 班级学校
class School < ActiveRecord::Base
has_and_belongs_to_many :users
class User < ActiveRecord::Base
has_and_belongs_to_many :schools
班级学校
我的问题是,我如何分配和使用学校?我不太清楚如何获取它,以便School.users返回任何值。如果您希望用户只属于某个特定学校(这对学生、教师、员工等最有意义),则需要将您的关联更改为: 学校 有很多:用户 使用者 属于:学校 那么你也需要有一个 user\u id:学校表中的整数列 现在您可以查询了 学校 学校用户
如果需要多对多关系,则需要创建一个带有school\u id和user\u id字段的schools\u users表。该关系是为学校实例(特定学校)定义的,因此
school.users
将永远无法工作
假设您有正确的表设置(您必须手动创建联接表的迁移,例如,请参见),这实际上相当简单
school = School.first
user = User.first
# add user to school
school.users << user
# or v.v.
user.schools << school
school=school.first
user=user.first
#将用户添加到学校
学校用户