2012-02-03 2 views
-1

rake, 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

자세한 내용을 입력하십시오. 적어도 전체 스택 추적 –

+0

@ Alex Kliuchnikau 스택 추적을 추가했습니다. – sunil

+0

3.2.1 이외의 버전의 Rails를 사용합니까? 'gem install rails -v 3.2.0'을 예로들 수 있습니다. – tadman

답변

1

당신이 블록을 통과하지 않고 setup_mail.rb의 라인 2에서 configure를 호출하는 것으로 보인다. 라인 1에, 당신은 또한 configure를 호출하고 난 당신이 같은 일을 추측하고 라인 2. 결함이있는 호출이 포함 된 블록 전달하는 당신이 정말로 의미

configure.some_option = 'value' 

:

config.some_option = 'value' 
을 항상 ArgumentError을 던질 것이다 블록이없는 class_eval를 호출

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

:

configure에 대한 소스입니다.

+0

희망이있었습니다. 그것이 당신의 문제를 해결하면, upvote가 인정 될 것입니다. –

관련 문제