class User < ActiveRecord::Base
has_one :wishlist # or belongs_to :wishlist, it depends which you prefer
end
class Wishlist < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :items
end
물론 생성 해 마이그레이션 메신저를 시각화 힘든 시간을 보내고 :
./script/rails generate migration create_item_wishlists wishlist_id:integer item_id:integer
항목 및 위시리스트 사이에 테이블을 조인 만들 수 있습니다.
UPDATE는 : 코멘트에 "솔직한 눈보라"질문에 대답하려면 :
의 당신이 HABTM 관계로, (단지 제품 또는 다른 모델 이름 항목 변경) 내 대답과 같은 구조를 가지고 있다고 가정 해 봅시다 방금 위시리스트 "항목"의 컬렉션에 새 "항목"을 추가해야합니다 및 다음 저장 :
class User
def add_to_wishlist(item)
wishlist.items << item
end
end
:
@user.wishlist.items << item
@user.wishlist.save
귀하는 사용자의 방법을 만들 수 있습니다
"항목"컬렉션을 제거하거나 수정하려면 Array에서 Ruby 메서드를 사용한 다음 wishlist를 저장하면됩니다. 그러면 위의 차이점이 확인되고 변경 사항 만 저장됩니다.
출처
2011-04-29 12:19:58
MBO
내 레일 앱에서 위와 같은 위시리스트 관계를 생성했지만 현재 사용자 위시리스트에 product_id를 추가하는 방법에 대해 알지 못합니다. 생각이 있다면 공유하겠습니다. 감사! – tmaximini
@ frankblizzard 내 대답보기, 방금 귀하의 질문에 대한 해결책으로 업데이 트되었습니다. – MBO
많은 사람에게 감사드립니다 ... 정말로 감사드립니다! – tmaximini