Rails has에서and_belongs_to_many 모형 만들기

4666 단어 Rails
관계식을 작성하려면

먼저 모형을 만들고 옮겨라.
$ rails g model user name:string email:string
$ rails g model group name:string description:text
$ rails g migration create_groups_users group:references user:references
create_groups_users곳은 표명을 알파벳순으로 연결합니다.
중간 표에서 id 표시줄을 만드는 것을 피하기 위해서 다음 이동 파일을 편집할 수 있습니다:.
class CreateGroupsUsers < ActiveRecord::Migration
  def change
    create_table :groups_users, id: false do |t|
      t.references :group, index: true, null: false
      t.references :user, index: true, null: false
    end
  end
end
  • create_테이블 ()의 매개 변수에 id: false
  • 추가
  • t.references의 매개 변수에 추가null: false
  • 마이그레이션을 수행할 수 있습니다.
    $ rake db:migrate:reset
    
    를 참고하십시오.
    app/models/user.rb
    class User < ActiveRecord::Base
      has_and_belongs_to_many :groups
    end
    
    app/models/group.rb
    class Group < ActiveRecord::Base
      has_and_belongs_to_many :users
    end
    

    쓸 수 있는 방법


    has_and_belongs_to_many- 참조 - rails 문서

    사용 방법 예


    where 방법으로 축소


    그룹 ID:1이 속한 사용자를 가져옵니다.
    User.includes(:groups).where('groups.id' => 1)
    
    배열을 지정할 수도 있습니다.
    User.includes(:groups).where('groups.id' => [1, 2])
    

    사용자와 그룹 연관

    new_user = User.new(:name => 'newuser', email => '[email protected]')
    new_user.groups << Group.find(1)
    new_user.save
    

    컨트롤러/뷰 사용


    기사가 추가되었습니다.
    Rails has에서and_belongs_to_many를 사용하여 UI 만들기

    좋은 웹페이지 즐겨찾기