С приложением rails не работает ни одна команда - PullRequest
0 голосов
/ 04 февраля 2012

Какие бы команды я ни вводил, например, rake, rails и т. Д., Я получаю ту же ошибку в своем приложении rails.

Block not supplied (ArgumentError)

C:\Sites\merevik\merevik>rails console
C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1/lib/rails/ra
iltie/configurable.rb:24:in `class_eval': block not supplied (ArgumentError)
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/railtie/configurable.rb:24:in `configure'
        from C:/Sites/merevik/merevik/config/initializers/setup_mail.rb:2:in `bl
ock in <top (required)>'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/railtie/configurable.rb:24:in `class_eval'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/railtie/configurable.rb:24:in `configure'
        from C:/Sites/merevik/merevik/config/initializers/setup_mail.rb:1:in `<t
op (required)>'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:245:in `load'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:245:in `block in load'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:245:in `load'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/engine.rb:587:in `each'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/engine.rb:587:in `block in <class:Engine>'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/initializable.rb:30:in `instance_exec'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/initializable.rb:30:in `run'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/initializable.rb:55:in `block in run_initializers'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/initializable.rb:54:in `each'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/initializable.rb:54:in `run_initializers'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/application.rb:136:in `initialize!'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/railtie/configurable.rb:30:in `method_missing'
        from C:/Sites/merevik/merevik/config/environment.rb:5:in `<top (required
)>'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:251:in `require'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:251:in `block in require'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:236:in `load_dependency'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activesupport-
3.2.1/lib/active_support/dependencies.rb:251:in `require'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/application.rb:103:in `require_environment!'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.2.1
/lib/rails/commands.rb:40:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

1 Ответ

1 голос
/ 04 февраля 2012

Похоже, что вы звоните configure со строки 2 setup_mail.rb без прохождения блока. В строке 1 вы также вызываете configure и передаете блок, который содержит ошибочный вызов в строке 2. Я предполагаю, что вы делаете что-то вроде:

configure.some_option = 'value'

где вы действительно имели в виду:

config.some_option = 'value'

Это источник для configure:

def configure(&block)
  class_eval(&block)
end

При вызове class_eval без блока всегда выдается ArgumentError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...