0

テーブルからリレーションシップ行を返して、そこに格納されているデータにアクセスする簡単な方法はありますか?

has_many:throughを使用して関連する2つのモデルと、中間として設定された3番目のモデルがあります。私のモデルは、User、Recipe、およびRecipeInfoで構成されています。

現在、特定のユーザーのレシピ情報用に保存されているデータにアクセスするために、これに似たRailsクエリを使用しています

info = @user.recipeInfos.where("recipe_id=#{@recipe.id}")

.where()メソッドを使用するよりも、ユーザーのレシピ情報のこの1行にアクセスする簡単な方法があるかどうか疑問に思っています。

編集:

recipe = Recipe.find(params[:id])

user = current_user

current_usersessions[:user_id] = current_userユーザーがログインしたときに定義されます。

4

1 に答える 1

0

これらの 4 行のコードを短くすることができます。

info = current_user.recipeInfos.find_by_id(params[:id])

.

于 2012-06-10T01:18:59.650 に答える