2013-04-29 4 views
0

Ruby on Rails의 새로운 기능입니다.Ruby on Rails 모델 관계

사용자 모델과 10 개의 다른 항목의 모델 사이의 관계를 설정하려고합니다.

내 목표는 사용자가 항목 모델의 항목을 체크 아웃 한 다음 체크 된 항목을 해당 프로필에 표시하도록하는 것입니다.

나는 Michael Hartl Ruby on Rails tutorial까지 마이크로 포스트를 생성하는 지점을 사용했습니다. 이 작업을 완료하는 데 도움이되는 자습서에 대한 정보는 크게 감사하겠습니다.

감사합니다.

답변

0

기본적으로, 당신이 원하는 것은 :
또한 Userhas_and_belongs_to_many :items
,이 많은 관계에 많은 Itemhas_and_belongs_to_many :users

. 이후 사용자는 많은 항목을 가질 수 있고 항목은 많은 사용자에게 속할 수 있습니다. 레일에서, 여기 has_and_belongs_to_many은 암시 적으로 두 테이블의 id를 포함하는 테이블 items_users을 생성하여 관계를 설정합니다. 모든 항목의 체크 박스를 보여주는 http://guides.rubyonrails.org/association_basics.html#the-has_and_belongs_to_many-association

사용 checkbox 태그 -

여기에이 협회에 대해 자세히 알아보십시오. 문서 - http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-check_box

확인란을 선택하면 관계를 설정하는 레코드를 저장합니다.

완료. :)

0

다른 튜토리얼에 대해서는 잘 모릅니다. 만약 Hatel을 완성했다면 레일 프레임 워크 전체를 매우 잘 이해할 수 있습니다. items_list 모델이 있습니다. 어떤 사용자와 자신을 연결할 user_id 외래 키가있었습니다. 그런 다음 목록에 연관시킬 items_list 외래 키가있는 항목 모델을 가질 수 있습니다. 그런 다음 항목 모델은 "활성"또는 "선택됨"등의 부울 필드를 가질 수 있습니다. 이들, 관련 관계 및 일부 범위를 사용하여 원하는 것을 얻을 수 있습니다.

이 데이터를 요청할 때 포함 헬퍼를 사용해야합니다. 그렇지 않으면 쉽게 N + 1 문제가 발생합니다.

http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations