2014-04-06 5 views
0

내 Scaffold에서 작성한 기능을 내 Concert 모델과 연결 한 후 다시 작성했습니다. 나는 #Class에 대한rails application undefined method for

정의되지 않은 메서드 '리뷰'라는 오류 얻을 불구하고 리뷰를 작성하는 양식을 제출하려고 할 때 : 0xab9972c을> 내 콘서트 모델이

과 같은

def create 
    @review = Concert.reviews.create(review_params) 
end 

class Concert < ActiveRecord::Base 

validates_presence_of :artist 
validates_presence_of :venue 
validates_presence_of :date 

has_many :reviews 
end 

내 검토 모델이

class Review < ActiveRecord::Base 

    validates_presence_of :artist 
    validates_presence_of :venue 
    validates_presence_of :date 

    belongs_to :user 
    belongs_to :concert 
end 
처럼 보인다

또한 마이그레이션 파일에 관계를 추가했지만 여전히 오류가 발생합니다. 누군가가이 문제의 원인을 설명하고 콘서트에 속한 리뷰를 만드는 방법을 설명 할 수 있습니까?

답변

1

연관 has_many :reviews은 인스턴스 메소드입니다.

def create 
    @concert = Concert.new 
    @concert.save 
    @review = @concert.reviews.create(review_params) 
end 
+0

나는 그것을 시도하고 지금은 말한다 그래서 내가 콘서트를 할 필요가 같은데요 "당신은 부모가 저장되어 있지 않으면 만들 호출 할 수 없습니다": 나는 당신의 만드는 방법이 뭔가를한다고 생각한다. .new 대신 작성하십시오 – parameter

+0

죄송합니다. 예, 먼저 @constert.save를해야합니다. 필수 필드 또는 다른 유효성 검사가있는 경우 저장하기 전에 해당 필드를 채워야합니다. –

관련 문제