Я пытаюсь использовать PaperClip и ActiveScaffold с помощью as_paperclip_bridge в проекте rails3.0.5.
Однако при запуске проекта возникает следующая ошибка инициализации.
=> Загрузка 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
instance_exec '
из C: /Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb: 25: в run'
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb:50:in
run_initializers '
из C: /Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb: 49: в each'
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/initializable.rb:49:in
run_initializers '
из C: /Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/application.rb: 134: в initialize!'
from C:/Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/application.rb:77:in
отправить '
из C: /Ruby187/lib/ruby/gems/1.8/gems/railties-3.0.5/lib/rails/application.rb: 77: в method_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 '
из C: /Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb: 239: в require'
from C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in
load_dependency '
из C: /Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb: 596: в new_constants_in'
from C:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:225:in
load_dependency '
из C: /Ruby187/lib/ruby/gems/1.8/gems/activesupport-3.0.5/lib/active_support/dependencies.rb: 239: в 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 '
из C: /Ruby187/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb: 46: в initialize'
from C:/Users/ken/Documents/NetBeansProjects/fcheck/config.ru:1:in
new '
от C: /Users/ken/Documents/NetBeansProjects/fcheck/config.ru: 1
Код в as_paperclip_bridge \ init.rb пытается вызвать метод модуля «ActiveScaffold.bridge», но он не найден.
Хотя тот же код работает без ошибок в проекте rails2.3.8.
Мы видим большую разницу в коде инициализации рельсов между версиями 2 и 3.
На рельсах 2.3.8 плагины загружаются в метод load_plugins, который вызывается после метода load_gems в initializer.rb. Однако rails3 не имеет initializer.rb, и процесс загрузки выглядит совершенно иначе.
Я также попытался удалить гем AS и установить оба плагина AS с помощью плагина as_paperclip_bridge. Но ошибка не исчезла.
Может кто-нибудь объяснить, почему происходит ошибка?!
В любом случае, я действительно надеюсь найти какое-либо решение или обходной путь.
Спасибо,
Kenichi