脚手架表由多对多关系获得

时间:2014-11-11 13:18:32

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-3.1

我有两种模式:用户分会,我有很多可能的关系,如:

user has_and_belongs_to_many clubs
club has_and_belongs_to_many users

现在,我将有第三个表格,其中包含此关系的结果:

user_clubs(user_id,club_id)

例如,在生成脚手架时, rails生成脚手架用户名:string birth_date:date 性别:字符串login_id:整数,如何生成该关系?以同样的方式?

谢谢

2 个答案:

答案 0 :(得分:3)

您需要使用generate migration

rails g migration create_club_users user_id:integer club_id:integer

它将创建以下迁移:

class CreateClubUsers < ActiveRecord::Migration
  def change
    create_table :club_users do |t|
      t.integer :user_id
      t.integer :club_id
    end
  end
end

然后,您应该将id设置为false,而不是Create an ActiveRecord database table with no :id column?


我建议您阅读WHY YOU DON’T NEED HAS_AND_BELONGS_TO_MANY RELATIONSHIPS

答案 1 :(得分:0)

你可以试试这个:

rails g migration CreateClubsUsersJoinTable club_id:integer user_id:integer

在rails

中创建has_and_belongs_to_many关联的加入表时,您应该按照按字母顺序排列的模型

请参阅此链接以获取进一步的帮助

http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_and_belongs_to_many