0

我正在尝试在 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:inrun_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:inrun_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:inload_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:inload_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:ininstance_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:inC:/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 插件。但是,错误并没有消失。

有人可以解释为什么会发生错误吗?!

无论如何,我真的希望得到任何解决方案或解决方法。

谢谢,健一

4

1 回答 1

0

自我回复。

我意识到最新的 ActiveScaffold 实现不需要 as_paperclip_bridge。(包括桥)

请确保安装 ImageMagick 和 RMagick gem 以将 PaperClip 用于图像文件。或者,您也可能认为“as_paperclip_bridge 应该在那里”

谢谢你,健一

于 2011-07-18T17:20:26.970 回答