Has_many : create 메서드에 대한 쿼리를 통해

데이브 C

users, venues을 가진 앱을 개발 중 groups입니다. 나는 내 모델을 만들었고 그것들에 꽤 만족하지만 컨트롤러와 약간 혼란스러워하고 있습니다. 나는 대부분 has_many :through관계가 있습니다. 예를 들어 나는이 user모델하는 venue모델과 user_venue기능 모델을 user_id, venue_id그리고 admin column. 인스턴스를 구축하는 동시에 장소를 만들 때 사용자를 자동으로 관리자로 만들고 (관리자 열을 1 씩 증가) 원합니다. 다른 사용자도 관리자가되지 않고도 자신을 장소와 연결할 수 있습니다.

내 모델은 다음과 같습니다.

class User < ActiveRecord::Base
  has_many :venues, through: :user_venues
  has_many :user_venues
end

class Venue < ActiveRecord::Base
    has_many :users, through: :user_venues
    has_many :user_venues
end

class UserVenue < ActiveRecord::Base
    belongs_to :users
    belongs_to :venues
    validates :user_id, presence: true
    validates :venue_id, presence: true
end

사용자가 장소를 만들고 관리자가되어 다른 사용자가 연결을 만들 수 있도록하는 가장 좋은 방법은 무엇일까요? 초기 장소가 생성되면 user_venue컨트롤러 를 사용하는 문제 일 뿐이며 추상화 된 모델을 다루기 위해 고군분투하고 있습니다. 나는 또한 조언을 구하는 것이 그것을 비난함으로써 보안 악몽이 아닌지 확신 할 수 있다고 생각했습니다! group모델은 같은 방식으로 작동합니다.

나는 이것이 누군가에게 쉬운 대답이 될 것이라고 확신합니다!

편집하다

지금까지 4 시간 더 작업을 해왔지만 여전히 해결책을 찾을 수없는 것 같고 온라인에서도 찾을 수 없습니다. 지금까지 Venue Controller다음과 같은 모양의 정의를 만듭니다 .

def create
  admin = 1
  @user = current_user
  @venue = Venue.create(venue_params)
  @user_venue = UserVenue.new user_id: @user.id, venue_id: @venue.id, admin:  admin
  @user_venue.save
end

이것은 불행히도 여전히 venues테이블이 아닌 테이블을 완성 user_venues합니다.

데이브 C

나는 그것을 해결했다 ... 나는 단지 belongs_to관계를 복수 적이 지 않게 만들고 다음 생성 방법을 사용하는 것이 필요하다는 것을 알게되었습니다 .

@venue = Venue.create(venue_params)
@venue.users << current_user

그리고 그것은 관계를 만들었습니다. 이제 user_groups생성시 테이블에 속성을 추가하는 코드를 작성하면됩니다! ...

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Rails 객체를 통해 속성에 대한 has_many 쿼리

분류에서Dev

관계를 통해 has_many에 대한 ActiveRecord :: InvalidForeignKey

분류에서Dev

관계를 통해 has_many의 조인 엔티티에 대한 Rails 필드

분류에서Dev

연관을 통해 has_many를 추가 할 때 nil : NilClass에 대한 정의되지 않은 메소드`username '

분류에서Dev

Rails & ActiveRecord 복잡한 쿼리 : 하나의 열을 대체하면서 객체를 통해 has_many 컬렉션 렌더링

분류에서Dev

has_many 관계에 대해 create_ * 메서드가 존재하지 않는 이유는 무엇입니까?

분류에서Dev

간단한 Has_Many 필요 : 컨트롤러 코드를 통해

분류에서Dev

연관을 통해 has_many로 생성은 NoMethodError를 얻습니다 (nil : NilClass에 대한 정의되지 않은 메소드`name ').

분류에서Dev

2 개 모델 (has_many)에 대한 공동 쿼리

분류에서Dev

여러 유형에 대해 source 및 source_type으로 앨리어싱을 통해 Rails has_many

분류에서Dev

has_many 관계를 통해 최대 값에서 가장 낮은 값을 찾는 방법

분류에서Dev

Rails는 has_many를 통해 db에 삽입

분류에서Dev

관계를 통해 has_many에 추가 행 포함

분류에서Dev

Has_many를 통해 Rails에 속합니다.

분류에서Dev

has_and_belongs_to_many를 통한 다단계 has_many

분류에서Dev

has_many를 통해 쿼리하는 방법

분류에서Dev

has_many : 두 모델 간의 쿼리를 통해

분류에서Dev

has_many : 연결을 통해, 쉘의 Rails 콘솔에서 "No Method Error", NoMethodError : # <ActiveRecord :: Relation :>에 대한 정의되지 않은 메서드

분류에서Dev

has_many 연관의 위임 된 속성에 대한 Rails 4 쿼리

분류에서Dev

has_many 연관의 위임 된 속성에 대한 Rails 4 쿼리

분류에서Dev

Rails : Has Many ... Where 범위에 대한 구문 문제를 통해

분류에서Dev

다른 역할을 할당하면서 Rails에서 Has_many를 통해

분류에서Dev

Mongoid : has_many를 통해 동일한 모델을 두 번 이상 참조

분류에서Dev

최대 has_many 관계에서만 조인하고 해당 관계에 대한 선택 필터를 포함하는 Ruby on Rails에서 쿼리를 작성하려면 어떻게해야합니까?

분류에서Dev

Rails는`has_many : through` 텍스트 필드를 통해 검색합니다.

분류에서Dev

by Rails를 통해 has_many를 통해 새 레코드를 만드는 방법은 무엇입니까?

분류에서Dev

이중 has_many 쿼리 : 연관을 통해

분류에서Dev

범위를 통해 has_many 및 관련 관계에서 레코드를 가져 오는 ActiveRecord

분류에서Dev

동일한 STI 모델을 통해 Rails 연관 has_many 및 has_many

Related 관련 기사

  1. 1

    Rails 객체를 통해 속성에 대한 has_many 쿼리

  2. 2

    관계를 통해 has_many에 대한 ActiveRecord :: InvalidForeignKey

  3. 3

    관계를 통해 has_many의 조인 엔티티에 대한 Rails 필드

  4. 4

    연관을 통해 has_many를 추가 할 때 nil : NilClass에 대한 정의되지 않은 메소드`username '

  5. 5

    Rails & ActiveRecord 복잡한 쿼리 : 하나의 열을 대체하면서 객체를 통해 has_many 컬렉션 렌더링

  6. 6

    has_many 관계에 대해 create_ * 메서드가 존재하지 않는 이유는 무엇입니까?

  7. 7

    간단한 Has_Many 필요 : 컨트롤러 코드를 통해

  8. 8

    연관을 통해 has_many로 생성은 NoMethodError를 얻습니다 (nil : NilClass에 대한 정의되지 않은 메소드`name ').

  9. 9

    2 개 모델 (has_many)에 대한 공동 쿼리

  10. 10

    여러 유형에 대해 source 및 source_type으로 앨리어싱을 통해 Rails has_many

  11. 11

    has_many 관계를 통해 최대 값에서 가장 낮은 값을 찾는 방법

  12. 12

    Rails는 has_many를 통해 db에 삽입

  13. 13

    관계를 통해 has_many에 추가 행 포함

  14. 14

    Has_many를 통해 Rails에 속합니다.

  15. 15

    has_and_belongs_to_many를 통한 다단계 has_many

  16. 16

    has_many를 통해 쿼리하는 방법

  17. 17

    has_many : 두 모델 간의 쿼리를 통해

  18. 18

    has_many : 연결을 통해, 쉘의 Rails 콘솔에서 "No Method Error", NoMethodError : # <ActiveRecord :: Relation :>에 대한 정의되지 않은 메서드

  19. 19

    has_many 연관의 위임 된 속성에 대한 Rails 4 쿼리

  20. 20

    has_many 연관의 위임 된 속성에 대한 Rails 4 쿼리

  21. 21

    Rails : Has Many ... Where 범위에 대한 구문 문제를 통해

  22. 22

    다른 역할을 할당하면서 Rails에서 Has_many를 통해

  23. 23

    Mongoid : has_many를 통해 동일한 모델을 두 번 이상 참조

  24. 24

    최대 has_many 관계에서만 조인하고 해당 관계에 대한 선택 필터를 포함하는 Ruby on Rails에서 쿼리를 작성하려면 어떻게해야합니까?

  25. 25

    Rails는`has_many : through` 텍스트 필드를 통해 검색합니다.

  26. 26

    by Rails를 통해 has_many를 통해 새 레코드를 만드는 방법은 무엇입니까?

  27. 27

    이중 has_many 쿼리 : 연관을 통해

  28. 28

    범위를 통해 has_many 및 관련 관계에서 레코드를 가져 오는 ActiveRecord

  29. 29

    동일한 STI 모델을 통해 Rails 연관 has_many 및 has_many

뜨겁다태그

보관