是吗:
u = User.find_by_email("me@myplace.com")
或:
u = User.where(:email => "me@myplace.com").first
我想我读到3.1中正逐步淘汰条件。
我知道你想在检索多个对象时坚持使用AREL,因为它确定了何时实际执行查询(就像你在迭代一个集合一样)。但我不知道抓住单打的惯例是什么。
答案 0 :(得分:3)
我可以互换使用。
我还没有读过任何关于被弃用的find_by
方法的内容,但是如果您关注它们,那么请使用第二种方法。你唯一的选择就是致电last
。您也可以调用all
,但这会返回数组中的对象。
阅读Edge Guides文章Active Record Querying的1.1 Retrieving a Single Object部分以获取更多信息。