[英]Rails adding table and relation
我的所有用戶都有一個用戶表
現在我要介紹用戶組
因此,我需要用於組的第二張表以及這些組之間的關系。
應該可以將用戶設置為不同的組。 所以我需要一個:m關系
它了解到Rails可以生成我需要的大多數東西,還可以生成遷移文件? 真的嗎? 如何運作?
移居
class CreateUserGroups < ActiveRecord::Migration
def up
create_table :user_groups do |t|
t.string :name
t.integer :size
t.timestamps
end
end
def self.down
drop_table :user_groups
end
end
class CreateUserGroupUsers < ActiveRecord::Migration
def self.up
create_table :user_group_users do |t|
t.user_id:integer
t.user_groups_id:integer
t.timestamps
end
end
def self.down
drop_table :user_group_users
end
end
創建用戶和用戶組模型並從終端遷移
rails g model User email:string password:string
rails g model UserGroup name:string size:integer
您還需要創建一個名為UserGroupManager
的UserGroup
和User
關系管理表
rails g model UserGroupManager user_id:integer user_group_id:integer
通過在終端中運行此命令來更新數據庫
rake db:migrate
在應用程序/模型/中設置關系
# app/models/user.rb
class User < ActiveRecord::Base
has_many :user_group_managers
has_many :user_groups, through: :user_group_managers
end
# app/models/user_group.rb
class UserGroup < ActiveRecord::Base
has_many :user_group_managers
has_many :users, through: :user_group_managers
end
# app/models/user_group_manager.rb
class UserGroupManager < ActiveRecord::Base
belongs_to :user_group
belongs_to :user
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.