2

我的控制器中有这段代码:

def index
  @purchases = Purchase.all
  @purchases = @purchases.where(user_id: current_user.id) unless current_user.admin
  @purchases = @purchases.paginate(per_page: 30, page: params[:page])
end

这会导致以下弃用警告:

DEPRECATION WARNING: Relation#first with finder options is deprecated. Please build a scope and then call #first on it instead.

我真的不明白为什么,因为我不在任何地方使用#first。我还应该指出,问题肯定出在#index动作内部的第二行 - 将其注释掉会删除弃用。

4

1 回答 1

4

这是设计的。显然方法#current_user是使用已弃用的 AR 查询。使用“rails4”分支。

于 2013-04-28T20:34:44.237 回答