从Rails中的关系表中选择单行

时间:2012-06-10 00:38:36

标签: mysql ruby-on-rails ruby-on-rails-3 has-many-through

是否有更简单的方法从表中返回关系行以访问存储在那里的数据?

我有两个使用has_many相关的模型:through和第三个模型设置为中间。我的模型包括User,Recipe和RecipeInfo。

现在,为了访问为特定用户的食谱信息存储的数据,我正在使用类似于此的Rails查询

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

我想知道是否有更简单的方法来访问用户配方信息的这一行,而不是使用.where()方法。

编辑:

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

user = current_user

当用户登录时,<current_usersessions[:user_id] = current_user定义。

1 个答案:

答案 0 :(得分:0)

您可以将这四行代码缩短为

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