我想在控制器中使用这个范围
我该如何添加到此行?
我不能把.recent
放在任何地方......
现在我可以忽略order: 'updated_at DESC'
我刚刚离开,以防万一。
用户控制器
@users = User.find_by_username(params[:id]).all_following(order: 'updated_at DESC')
用户模型
scope :recent, lambda { |n = 10| order("last_active_at DESC").limit(n) }
答案 0 :(得分:2)
只需写下
@users = User.find_by_username(params[:id]).all_following.recent
在您的控制器中。这应该会给你最近的用户。范围的美妙之处在于您可以将它们连接起来(在本例中为all_following
和recent
)。
顺便说一句,我怀疑找到一个带有id的用户名是有道理的。如果您在params哈希中有用户名,则需要说User.find(params[:id]).all_following.recent
或User.find_by_username(params[:username]).all_following.recent
。