테이블에있는 관계 행을 반환하여 거기에 저장된 데이터에 액세스하는 간단한 방법이 있습니까?레일에서 관계 테이블의 단일 행 선택
두 모델은 has_many : through 및 세 번째 모델을 사이에 사용하여 관련이 있습니다. 내 모델은 User, Recipe 및 RecipeInfo로 구성됩니다.
는 지금, 특정 사용자의 레시피 정보를 원하시면 저장된 데이터에 액세스하기 위해,이
info = @user.recipeInfos.where("recipe_id=#{@recipe.id}")
간단한 방법이 있는지 궁금 해요에 대한 쿼리와 유사한 레일을 사용하고 있습니다 .where() 메소드를 사용하는 대신이 단일 행의 사용자 레시피 정보에 액세스해야합니다.
은 편집 :
recipe = Recipe.find(params[:id])
user = current_user
current_user
이 때 사용자 로그에 sessions[:user_id] = current_user
에 의해 정의된다
약간의 코드 컨텍스트에서 어떤 레시피를 찾을 지 어떻게 결정됩니까 (@recipe는 어떻게 결정됩니까?). – cdesrosiers
문맥을 바탕으로 제 질문을 수정했습니다. –
왜'where'를 사용하고 싶지 않으십니까? '@ user.recipeInfos.where (: recipe_id => @ recipe.id) .first'는 당신이 걱정하는 것이면 자동으로 그것을 하나의 결과로 제한합니다. 왜 'recipeInfos'의 비정상적인 대문자가 아닌가요? – x1a4