rails3.0.5 プロジェクトで as_paperclip_bridge を使用して、PaperClip と ActiveScaffold の両方を使用しようとしています。
しかし、プロジェクトを起動すると以下の初期化エラーが発生します。
=> WEBrick を起動 => Rails 3.0.5 アプリケーションをhttp://0.0.0.0:3000で開発中
=> -d で呼び出してデタッチ => Ctrl-C でサーバーをシャットダウン C:/Users/ken/Documents/ を終了NetBeansProjects/fcheck/vendor/plugins/as_paperclip_bridge/init.rb:10: bridge' for ActiveScaffold:Module (NoMethodError)
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/plugin.rb:81
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb:25:in
C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb からの未定義メソッド instance_exec': 25: run'
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb:50:in
C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rbからのrun_initializers内:49: each'
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb:49:in
C:/Ruby187/lib/ruby/からのrun_initializers内gems/1.8/gems/railties-3.0.5/lib/rails/application.rb:134:in initialize!'
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/application.rb:77:in
send' from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails /application.rb:77:inmethod_missing'
from C:/Users/ken/Documents/NetBeansProjects/fcheck/config/environment.rb:7
from C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in
require' from C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in require'
from C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in
load_dependency' from C:/Ruby187/lib/ruby/gems/1.8 new_constants_in'
from C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in
C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies から /gems/activesupport-3.0.5/lib/active_support/dependencies.rb:596:in load_dependency に。rb:239:in require'
from C:/Users/ken/Documents/NetBeansProjects/fcheck/config.ru:3
from C:/Ruby187/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in
instance_eval' from C:/Ruby187/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in initialize'
from C:/Users/ken/Documents/NetBeansProjects/fcheck/config.ru:1:in
new' from C:/Users/ken/ドキュメント/NetBeansProjects/fcheck/config.ru:1
as_paperclip_bridge\init.rb のコードは、モジュール メソッド 'ActiveScaffold.bridge' を呼び出そうとしていますが、見つかりませんでした。それでも、rails2.3.8 プロジェクトでは同じコードがエラーなく動作しています。
バージョン 2 と 3 で Rails の初期化コードに大きな違いがあることがわかります。
Rails 2.3.8 では、initializer.rb の「load_gems」メソッドの後に呼び出される「load_plugins」メソッドでプラグインがロードされます。ただし、rails3 には initializer.rb がなく、読み込みプロセスがまったく異なるようです。
また、AS gem を削除し、AS プラグインと as_paperclip_bridge プラグインの両方をインストールしようとしました。しかし、エラーは消えていません。
誰かがエラーが発生した理由を説明できますか?!
とにかく、解決策または回避策が得られることを本当に望んでいます。
ありがとう、ケンイチ