Kaminari 寻呼机不能与 Sinatra 和 Mongoid 一起使用?
Kaminari pager not working with Sinatra and Mongoid?
无法让 Kaminari 与 Sinatra 和 Mongoid 一起工作。我收到此错误:
NoMethodError at /api/events
undefined method `page' for #<Mongoid::Criteria:0x007fccb7828c38>
这是获取错误的最少代码:
Gemfile
source "https://rubygems.org"
gem 'mongoid'
gem 'sinatra'
gem 'kaminari-mongoid'
gem 'kaminari-sinatra'
server.rb
require 'mongoid'
require 'sinatra'
class Event
include Mongoid::Document
end
get '/events' do
Event.desc(:id).page(params[:page]).per(10)
end
我已经尝试了 require 'kaminari'
、require 'kaminari-sinatra'
、require 'kaminari-mongoid'
,但都无济于事(我得到 LoadError
s)。我也试过 register Kaminari::Helpers::SinatraHelpers
提到的 here,但也失败了。
我跟进了 instructions in detail, and have scoured Google and Whosebug to no avail. 没用。我忍不住想我错过了一些简单的东西;我不是 Ruby 老手。我的直觉是它与 Bundler 有关。有什么想法吗?
我运行也成问题了。不幸的是,kaminari-mongoid 具有 rails 依赖性(您可以在此处查看 gemspec 文件:https://github.com/kaminari/kaminari-mongoid/blob/master/kaminari-mongoid.gemspec)。因此,不可能同时使用 kaminari-sinatra 和 kaminari-mongoid。
这解决了我的问题。 https://github.com/ajsharp/mongoid-pagination。将它添加到您的 Gemfile 并使用 Bundler 安装。
在您的 app.rb 文件中,require 'mongoid-pagination'
无法让 Kaminari 与 Sinatra 和 Mongoid 一起工作。我收到此错误:
NoMethodError at /api/events
undefined method `page' for #<Mongoid::Criteria:0x007fccb7828c38>
这是获取错误的最少代码:
Gemfile
source "https://rubygems.org"
gem 'mongoid'
gem 'sinatra'
gem 'kaminari-mongoid'
gem 'kaminari-sinatra'
server.rb
require 'mongoid'
require 'sinatra'
class Event
include Mongoid::Document
end
get '/events' do
Event.desc(:id).page(params[:page]).per(10)
end
我已经尝试了 require 'kaminari'
、require 'kaminari-sinatra'
、require 'kaminari-mongoid'
,但都无济于事(我得到 LoadError
s)。我也试过 register Kaminari::Helpers::SinatraHelpers
提到的 here,但也失败了。
我跟进了 instructions in detail, and have scoured Google and Whosebug to no avail.
我运行也成问题了。不幸的是,kaminari-mongoid 具有 rails 依赖性(您可以在此处查看 gemspec 文件:https://github.com/kaminari/kaminari-mongoid/blob/master/kaminari-mongoid.gemspec)。因此,不可能同时使用 kaminari-sinatra 和 kaminari-mongoid。
这解决了我的问题。 https://github.com/ajsharp/mongoid-pagination。将它添加到您的 Gemfile 并使用 Bundler 安装。
在您的 app.rb 文件中,require 'mongoid-pagination'