리뷰 테이블이 있습니다.레일즈 3 : 외래 키 3 개로 인스턴스 만들기
# Table name: reviews
#
# id :integer not null, primary key
# wsp_id :integer
# service_id :integer
# user_id :integer
# description :text
# rating :integer
# created_at :datetime
# updated_at :datetime
#
belongs_to :wsp
belongs_to :service
belongs_to :user
서비스에 대한 리뷰를 작성하고 wsp_id 및 user_id를 전달하려면 어떻게해야합니까? 중첩 된 경로를 사용해야합니까?
@user.reviews.new(params[:review])
할 수 있지만 wsp_id
및 service_id
전달할 수 없습니다.
여기 내 리뷰가 컨트롤러를 만듭니다.
def create
@review = current_user.reviews.new(params[:review])
if @review.save
#Saved
else
#Error, not saved
end
end
내가 뭘 잘못하고 있니?
고마워요!
은 어떻게받을 수 있나요 파일을 어떤 경로를 변경하여 모델에 외래 키를 추가 할 것인가? – donald
@donald, 경로 (또는 중첩 된 경로) 만 데이터를 가져 오는 것이 아닙니다. 예를 들어 세션에서 wsp_id와 service_id를 가져 와서 create 액션에서 create 호출 전에 params에 병합 할 수 있습니다. 애플리케이션의 어딘가에서 service_id 또는 wsp_id의 값을 결정할 필요가있다. –
@Aditya 다른 방법으로 설명해 주시겠습니까? 고마워요 – donald