码迷,mamicode.com
首页 > 其他好文 > 详细

Using with_scope 使用with_scope

时间:2015-10-12 07:04:20      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

class Task < ActiveRecord::Base
  belongs_to :project

  def self.find_incomplete
    find_all_by_complete(false, :order => created_at DESC‘)
  end
end
--------------------------------------------------------
class TasksController < ApplicationController
  def index
    @tasks = Task.find_incomplete
  end
这两段代码的作用是调用find_incomplete方法,返回项目中未完成的任务并按照创建时间降序


这个方法很好但有个局限,就是我们不能限制返回的数据,我们可以用with_scope.修改代码如下:
class Task < ActiveRecord::Base
  belongs_to :project

  def self.find_incomplete(options = {})
    with_scope :find => options do
      find_all_by_complete(false, :order => created_at DESC‘)
    end
  end
end
--------------------------------------------------------
@tasks = @project.tasks.find_incomplete :limit => 20
这样就成功实现了所有未完成任务的前20个



Using with_scope 使用with_scope

标签:

原文地址:http://www.cnblogs.com/JackyKun/p/4870587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!