我正在尝试在 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:in 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:in 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:ininitialize!'
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: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
需要'来自 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' 来自 C:/Ruby187/lib/ruby/gems/1.8 /gems/activesupport-3.0.5/lib/active_support/dependencies.rb:596:in 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: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' 来自 C:/Ruby187/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46: in instance_eval' 来自initialize'
from C:/Users/ken/Documents/NetBeansProjects/fcheck/config.ru:1:in
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 上,插件在 'load_plugins' 方法中加载,该方法在 initializer.rb 中的 'load_gems' 方法之后调用。但是,rails3 没有 initializer.rb 并且加载过程似乎完全不同。
我还尝试删除 AS gem 并使用 as_paperclip_bridge 插件安装两个 AS 插件。但是,错误并没有消失。
有人可以解释为什么会发生错误吗?!
无论如何,我真的希望得到任何解决方案或解决方法。
谢谢,健一