2012-02-02 142 views
0

所以我们可以说我有一个连接用户和项目的连接表。该表被称为“跟随”检查导轨3的连接记录吗?

因此,让我们说你在一个项目的显示视图。有没有更好的方法来检查,看看是否存在比联接记录:

@following = Follow.find_by_user_id_and_item_id(current_user.id,@item.id) 

+0

这可能是最有效的方法(假设你有'(user_id,item_id)'索引) – 2012-02-02 02:24:40

回答

0

你可以把它改写为

@following = Follow.where(user_id: current_user.id, item_id: @item.id).first 

功能是相同的,看起来更好。

+0

为什么这看起来更好?返回一个数组然后调用第一个对我来说比使用find_by来调用1记录更不明智。 – Elliot 2012-02-02 03:41:25

+0

个人品味的问题。此外,这是使用现代的查询接口(而不是老派的动态匹配器)。我们都喜欢新东西,不是吗? – 2012-02-02 03:43:56