1

我已经使用 ruby​​ script/plugin install http://github.com/thoughtbot/paperclip.git将回形针作为插件安装到我的项目中

模型:

class Company < ActiveRecord::Base
   has_attached_file :logo, :styles => { :large => "300x300>", :medium => "100x100>", :thumb => "50x50>" }
   validates_attachment_content_type :logo, :content_type => image/jpeg, :message => "Incorrect logo file type!"
   validates_attachment_size :log, :max => 200, :message => "big file" 
end

但控制器方法返回:NoMethodError in CompaniesController#new undefined method `has_attached_file' for #

如果我尝试在模型类之前“需要'回形针'”,则返回:CompanyController#new 中的 MissingSourceFile 没有要加载的此类文件——回形针

问题是什么?

4

4 回答 4

1

由于您已将回形针作为插件安装,请验证它是否已实际放置在您的应用程序中的正确路径中。它似乎不太可能是不正确的,但我更喜欢通过检查什么工作而不是什么不工作来进行故障排除:)

你应该有一个这样的文件夹结构:

RAILS_ROOT/vendor/plugins/paperclip/lib/paperclip.rb

当它看起来像这样时,rails 应该在每次重新启动服务器时默认加载 paperclip.rb。那是除非应用程序默认配置为不加载所有插件。这些配置可以在 config/environment.rb 中找到

我会寻找如下任何条目:

config.plugins ...
config.plugin_paths ...
config.plugin_locators ...
config.plugin_loader ...

如果您发现任何类似的条目,那可能是问题的原因。

于 2010-11-19T02:43:46.190 回答
1

回形针 Railscast是开始使用回形针的绝佳来源,请尝试按照这些步骤操作,如果您的问题仍然存在,请告诉我们。

于 2010-02-04T16:36:30.020 回答
0

可能是由于缺少 ImageMagick 安装。Paperclip 使用 ImageMagick 处理图像。要正确使用回形针,请确保安装了 ImageMagick 并且回形针可以访问它:

安装 ImageMagick(如果您使用的是 Mac OS X):

brew install imagemagick

告诉回形针在哪里可以找到 imagemagick,添加

Paperclip.options[:command_path] = '/usr/local/bin/'

到您的 config/environments/development.rb

希望这可以帮助。

于 2012-07-01T09:47:31.137 回答
0

添加行:

config.gem "paperclip"

假设 gem 已经安装,'config/environment.rb' 应该可以解决这个问题。

于 2010-11-19T02:25:21.517 回答