- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用葡萄来制作 Rest API。
为此,我在一个目录中创建了一个 config.ru 文件:
require 'rubygems'
require 'rack'
require './grape_sample'
run Twitter::API
有一个名为 grape_sample.rb 的文件:
module Twitter
class API < Grape::API
version 'v1', :using => :header, :vendor => 'twitter'
format :json
helpers do
def current_user
@current_user ||= User.authorize!(env)
end
def authenticate!
error!('401 Unauthorized', 401) unless current_user
end
end
resource :statuses do
desc "Return a public timeline."
get :public_timeline do
Status.limit(20)
end
desc "Return a personal timeline."
get :home_timeline do
authenticate!
current_user.statuses.limit(20)
end
desc "Return a status."
params do
requires :id, :type => Integer, :desc => "Status id."
end
get ':id' do
Status.find(params[:id])
end
desc "Create a status."
params do
requires :status, :type => String, :desc => "Your status."
end
post do
authenticate!
Status.create!({
:user => current_user,
:text => params[:status]
})
end
desc "Update a status."
params do
requires :id, :type => String, :desc => "Status ID."
requires :status, :type => String, :desc => "Your status."
end
put ':id' do
authenticate!
current_user.statuses.find(params[:id]).update({
:user => current_user,
:text => params[:status]
})
end
desc "Delete a status."
params do
requires :id, :type => String, :desc => "Status ID."
end
delete ':id' do
authenticate!
current_user.statuses.find(params[:id]).destroy
end
end
end
end
当我运行命令 rackup config.ru
时,会出现此错误:
/home/ritesh/rails/grape_sample.rb:2:in `<module:Twitter>': uninitialized constant Twitter::Grape (NameError)
from /home/ritesh/rails/grape_sample.rb:1:in `<top (required)>'
from /home/ritesh/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ritesh/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ritesh/rails/config.ru:7:in `block in <main>'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/builder.rb:55:in `instance_eval'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/builder.rb:55:in `initialize'
from /home/ritesh/rails/config.ru:in `new'
from /home/ritesh/rails/config.ru:in `<main>'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/builder.rb:49:in `eval'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/builder.rb:49:in `new_from_string'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/builder.rb:40:in `parse_file'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/server.rb:277:in `build_app_and_options_from_config'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/server.rb:199:in `app'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/server.rb:314:in `wrapped_app'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/server.rb:250:in `start'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/lib/rack/server.rb:141:in `start'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/gems/rack-1.5.0/bin/rackup:4:in `<top (required)>'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/bin/rackup:19:in `load'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/bin/rackup:19:in `<main>'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/bin/ruby_noexec_wrapper:14:in `eval'
from /home/ritesh/.rvm/gems/ruby-1.9.3-p327/bin/ruby_noexec_wrapper:14:in `<main>'
这次,我在 config.ru 中包含了 require 文件,但仍然看到错误。
最佳答案
您不需要实现 Grape 的 rubygem。
添加行
需要'葡萄'
到 grape_sample.rb
如果您仍然遇到问题,请确保您已经安装了 grape gem:
gem 安装葡萄
关于ruby-on-rails - UnInitialized Contant Twitter::Grape 使用 grape 示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14568477/
我想问一个让我困惑的问题。我正在尝试扫描字符串并将其转换为实数。使用该数字来计算值(value)。这是我的代码: string input_file_name1 = "shen_test_38_30_
我正在为我的 C 类入门编写一个程序,当我尝试使用 gcc 进行编译时,我不断收到一些警告。 这是我的代码: char **outList; *outList = strdup(cloudDevice
我正在使用 Chromium 嵌入式框架。我将以下内容放在主函数中。 CefRefPtr cef; CefRequest::ReferrerPolicy origin = origin; cef->S
我是C++的新手,正在测试while循环以及C++的绝对速度及其对我的CPU的影响,但出现以下错误: Severity Code Description Project File Line Suppr
string foo; try { foo = "test"; // yeah, i know ... } catch // yeah, i know this one too :) {
当尝试在 Mac OS X 10.6 上使用 FFMPEG gem 时,ruby 会抛出一个 NameError 异常,如下所示: NameError: uninitialized constant
我做了一个程序来计算 View 的总宽度/高度(有时我想要总宽度,有时我想要总高度)。唯一的问题是:如果我正在计算宽度,我想添加一个额外的 10到总数。这是我当前的代码: func calculate
所以我只想从常规地址(字符串)中提取经度/纬度坐标。我查阅了 geokit gem 文档并按照记录的内容进行了操作,但我不断收到此错误:“NameError:未初始化的常量 Geokit::Geoco
为什么 perl -we '$c = $c+3' 上升 Use of uninitialized value $c in addition (+) at -e line 1. perl -we '$c
我有以下代码: class circularList { public: circularList() : data(0), next(this) {} public: int dat
我的情况 我正在 ASP.NET MVC4 应用程序中进行测试。我正在开发的应用程序部分将现代 WebSecurity/SimpleMembershipProvider 与正在逐步淘汰的遗留身份验证系
我是 Ruby on Rails 的新手,我想使用迁移生成 mysql 数据库。 我尝试过这个命令 ruby bin/rake db:drop db:create db:migrate --trace
我需要一些调试帮助,因为我遇到的错误真的很难。 这是一款具有复杂动画的游戏。然而,问题不在于 SpriteKit .我希望动画按照严格的顺序彼此跟随,所以我实现了 Operation 的子类: cla
这是一个示例代码: #include int main() { int n = 5; float v[n]; float sum; int i; for(i
我正在使用 SQL Server 2012 并尝试实现事务复制。我正在使用系统存储过程来创建发布和订阅。我成功地创建了这些东西,但是当我检查复制监视器时,它显示“未初始化的订阅”。 当我检查订阅的同步
我有以下脚本: use 5.12.4; use strict; use warnings; say "Enter a functionality:"; while (<>) { if (/ad
我已经阅读了有关 has_many 的文档和大量教程:通过 Rails 中的关系,但我终生无法掌握它的窍门。 我正在尝试向我的 current_user(devise) 添加一个组,并且我在 Grou
我正在尝试为移动 API 设置路由,它应该有一个版本化的 api-path。我已经可以让移动 Auth 工作了,这是在位于 的单独 Controller AuthController 中实现的。/co
我正在使用 luacheck(在 Atom 编辑器中),但对其他静态分析工具开放。 有没有办法检查我是否使用了未初始化的表字段?我阅读了文档( http://luacheck.readthedocs.
我有一家工厂,例如: FactoryGirl.define do factory :page do title 'Fake Title For Page' end end 并进行测试:
我是一名优秀的程序员,十分优秀!