ActiveResource Get Call如何显示find(:first)或find(:last)请求?

时间:2011-08-01 17:22:56

标签: sinatra ruby-on-rails-3.1 activeresource

我正在开发一个可以接受来自ActiveResource的调用的Sinatra服务器,但是无法确定如何识别Get calls specificying:first或:last。

在Rails 3中

User.find(:first)  => localhost.com/user.xml
User.find(:last)  => localhost.com/user.xml

根据ActiveResource documentation中的示例,它的工作方式完全正确。

很清楚他们要求的路径(同一个路径),但不清楚:first或:last元素会发生什么。我无法在Sinatra服务器上的请求对象中找到它们。有谁知道这些参考文献发生了什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

来自ActiveResource库的代码

  def find(*arguments)
        scope   = arguments.slice!(0)
        options = arguments.slice!(0) || {}

        case scope
          when :all   then find_every(options)
          when :first then find_every(options).first
          when :last  then find_every(options).last
          when :one   then find_one(options)
          else             find_single(scope, options)
        end
      end

最后和第一个只是来自Enumerable模块的方法