NameError: Uninitialized constant Twitter
NameError: Uninitialized constant Twitter
当我尝试 运行 在 ruby 控制台中使用 Twitter API 的任何命令时,我收到错误 NameError: uninitialized constant Twitter
。
我将其命名为 twitterFeed.rb
,因为我读到它不应该命名为 twitter.rb
。此文件放在我的 config/initializers
文件夹中。我已经有 运行 bundle install
,gem 'twitter', '~> 6.2'
行在我的 gem 文件中。
require 'rubygems'
require 'bundler/setup'
require 'twitter'
require 'json'
client = Twitter::REST::Client.new do |config|
config.consumer_key = ENV['TWITTER_CONSUMER_KEY']
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
config.access_token = ENV['TWITTER_ACCESS_TOKEN']
config.access_token_secret = ENV['TWITTER_ACCESS_TOKEN_SECRET']
end
看起来您正在尝试使用 irb
而不是 Rails 控制台来 运行 您的代码。当您从 运行 到 irb
(或 pry
)时,您实际上并没有加载 Rails 环境,因此 none 的 gem 将可用。您可以手动要求它们,但您仍然无法访问 Rails 环境。
您要做的是使用 rails console
(或简称 rails c
)。
例如,对于 irb,未加载 Twitter:
rails_dir » irb
2.2.4 :001 > Twitter
NameError: uninitialized constant Twitter
from (irb):1
from /Users/bbugh/.rvm/rubies/ruby-2.2.4/bin/irb:11:in `<top (required)>'
使用 rails c
,效果很好:
rails_dir » rails c
Loading development environment (Rails 5.0.1)
2.2.4 :001 > Twitter
=> Twitter
您可以从初始化程序中取出所有这些 require
- Rails 届时将自动需要这些宝石。当您使用 Rails.
进行控制台工作时,您只需要使用 rails console
当我尝试 运行 在 ruby 控制台中使用 Twitter API 的任何命令时,我收到错误 NameError: uninitialized constant Twitter
。
我将其命名为 twitterFeed.rb
,因为我读到它不应该命名为 twitter.rb
。此文件放在我的 config/initializers
文件夹中。我已经有 运行 bundle install
,gem 'twitter', '~> 6.2'
行在我的 gem 文件中。
require 'rubygems'
require 'bundler/setup'
require 'twitter'
require 'json'
client = Twitter::REST::Client.new do |config|
config.consumer_key = ENV['TWITTER_CONSUMER_KEY']
config.consumer_secret = ENV['TWITTER_CONSUMER_SECRET']
config.access_token = ENV['TWITTER_ACCESS_TOKEN']
config.access_token_secret = ENV['TWITTER_ACCESS_TOKEN_SECRET']
end
看起来您正在尝试使用 irb
而不是 Rails 控制台来 运行 您的代码。当您从 运行 到 irb
(或 pry
)时,您实际上并没有加载 Rails 环境,因此 none 的 gem 将可用。您可以手动要求它们,但您仍然无法访问 Rails 环境。
您要做的是使用 rails console
(或简称 rails c
)。
例如,对于 irb,未加载 Twitter:
rails_dir » irb
2.2.4 :001 > Twitter
NameError: uninitialized constant Twitter
from (irb):1
from /Users/bbugh/.rvm/rubies/ruby-2.2.4/bin/irb:11:in `<top (required)>'
使用 rails c
,效果很好:
rails_dir » rails c
Loading development environment (Rails 5.0.1)
2.2.4 :001 > Twitter
=> Twitter
您可以从初始化程序中取出所有这些 require
- Rails 届时将自动需要这些宝石。当您使用 Rails.
rails console