首页 > 其他 > 详细

Using with_scope 使用with_scope

时间:2015-10-12 07:01:27      阅读:190      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!