Rails 3 бегун не обнаружил драгоценный камень JSON? - PullRequest
3 голосов
/ 22 января 2011

Я пытаюсь создать Ruby сценарий для запуска с моей Rails 3 средой.

Однако всякий раз, когда я запускаю этот Rubyscript с Rails Runner, я получаю эту ошибку:

require 'rubygems'
require 'json'

@payload = {
"message" => "helloworld",
"station" => {"id"=>12345}
}.to_json

puts @payload

ОШИБКА:

/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `require': no such file to load -- json (LoadError)
 from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `require'
 from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:198:in `load_dependency'
 from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:554:in `new_constants_in'
 from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:198:in `load_dependency'
 from /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.0.beta4/lib/active_support/dependencies.rb:212:in `require'
 from createflags.rb:2
 from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.beta4/lib/rails/commands.rb:39:in `eval'
 from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.beta4/lib/rails/commands/runner.rb:47
 from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.beta4/lib/rails/commands.rb:39:in `require'
 from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.beta4/lib/rails/commands.rb:39
 from script/rails:6:in `require'
 from script/rails:6

Может кто-нибудь сказать, что я могу сделать, чтобы это исправить?

Ответы [ 2 ]

2 голосов
/ 22 января 2011

Я не совсем знаком с внутренностями Bundler, но может случиться так, что он не позволяет require использовать другие драгоценные камни, отсутствующие в Gemfile.Возможно, добавление gem 'json' позаботится об этом.

Конечно, ActiveSupport имеет свой собственный JSON-модуль, поэтому не нужно добавлять другой гем.

0 голосов
/ 22 января 2011

удалить требуется "json", а затем попробуйте. Я считаю, что ActiveSupport уже имеет встроенный to_json.

...