2014-06-15 3 views
2

내 Rails 앱에서는 사용자가 설명과 함께 이미지 (책 표지)를 업로드하고 다른 사용자의 책을 좋아할 수있는 Pinterest와 유사하게 작동합니다. 그것을 자신의 프로파일에 추가하십시오. 그러나 설명 텍스트를 권장 사항으로 사용하여 책이 사이트에 이미 있더라도 각 사용자가 자신의 추천을 작성해야합니다.각 사용자에 대해 고유 한 설명이있는 "repin"유형 작업 만들기

책 페이지에 양식을 추가하여 누군가가 책을 좋아할 때 새로운 설명을 쓸 수 있도록합니다. 그러면 앱이 새로운 설명으로 간단히 복사 한 모든 속성을 가진 새로운 책을 만듭니다. 자바 스크립트가 필요합니까?

감사합니다.

답변

2

has_many :

을 통해 당신은 사용해야 할 겁니다 has_many :through 가입 모델

enter image description here

이것은 many-to-many 관계로 알려진 것입니다 (당신이 repins을 통해 many usersmany pins를 연결할 수 있습니다 의미).

#app/model/pin.rb 
Class Pin < ActiveRecord::Base 
    has_many :repins 
    has_many :users, through :repins 
end 

#app/models/repin.rb 
Class Repin < ActiveRecord::Base 
    #fields - id | user_id | pin_id | description | created_at | updated_at 
    belongs_to :user 
    belongs_to :pin 
end 

#app/models/user.rb 
Class User < ActiveRecord::Base 
    has_many :repins 
    has_many :pins, through: :repins 
end 

이 당신을 호출 할 수 있습니다 :

@pin = Pin.find params[:id] 
@pin.repins.each do |repin| 
    repin.description 
end 
당신이 각각의 출처에 필요한 설명을 만들 수있는 기회를 제공 - HMT 설치는 당신에게 가입 기록에 자신의 데이터를 추가 할 수있는 기능을 제공합니다

또는

@user = User.find params[:id] 
@user.repins.each do |repin| 
    repin.description 
end 
+0

어떻게 설명을 Repin에 입력합니까? 레일즈 마이그레이션 AddDescriptionToRepins'이 될 것인가? –

+0

예, 다음과 같이 열을 추가합니다 :'add_column : repins, : description, : string' –

관련 문제