2016-11-10 7 views
-2

중첩 된 특성이있는 데이터베이스에서 내 레코드를 편집하고 싶습니다.이상한 정의되지 않은 메서드 model_name 문제

def edit 
    @chocolate = Chocolate.new.kinds.find_by_id(params[:chocolate_id]) 
end 

을 내 edit.html.erb에서 내가 가진 : 내 컨트롤러에서 나는이

form_for @chocolate do |choco| 

를하지만 나에게 다음 오류가 있습니다 : 그것은 나를 그런 준다 왜 이해할 수 없다

undefined method model_name issue 

을 오류. 어떤 옵션이 있니?

+1

Chocolate.new.kinds.find_by_id에서 .new를 제거하십시오 (매개 변수 [: chocolate_id]) – siopao

답변

0

이러한 방법은 실제로 이러한 방식으로 함께 혼합되지 않습니다.

@chocolate = Chocolate.includes(:kinds).find(params[:chocolate_id]) 

그럼 대신 새 레코드를 인스턴스화하는 것을 시도의 Chocolate 및 관련 Kind 기록에 대한 데이터베이스를 조회됩니다

난 당신이 대신 같은 뭔가를하려는 같은데요.

+0

아, 보았습니다! 그러나 그 경우에 그것은'신분증없이 초콜렛을 찾을 수 없었어요 '라고 말해줍니다. 하지만': chocolate_id'를 통해 ID를 보냅니다. 아니? –

+0

경로가 어떻게 생겼습니까? 아마도 ID는'params [: id]'에서 얻을 수 있을까요? 나는 당신을 위해 그것을 추측 할 수 없다. –