我已经将paperclip安装到我的项目中作为插件使用 ruby脚本/插件安装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
但控制器方法返回: CompaniesController中的NoMethodError ##
的新未定义方法`has_attached_file'如果我在模型类之前尝试“需要'paperclip'”,则返回: CompaniesController中的MissingSourceFile #new 没有这样的文件要加载 - paperclip
有什么问题?
答案 0 :(得分:1)
paperclip Railscast是开始使用回形针的好来源,请尝试按照这些步骤告诉我们您的问题是否仍然存在。
答案 1 :(得分:0)
添加行:
config.gem "paperclip"
'config / environment.rb'应该解决这个问题,假设已经安装了gem。
答案 2 :(得分:0)
由于您已将paperclip安装为插件,请确认它已实际放置在您应用中的正确路径中。它似乎不太可能不正确,但我更愿意通过检查什么是有效而不是无效的方法进行故障排除:)
你应该有这样的文件夹结构:
RAILS_ROOT /供应商/插件/纸夹/ LIB / paperclip.rb
如果看起来像这样,rails应该在每次重启服务器时默认加载paperclip.rb。这是除非应用程序配置为默认情况下不加载所有插件。这些配置可以在config / environment.rb
中找到我会查找以下任何条目:
config.plugins ...
config.plugin_paths ...
config.plugin_locators ...
config.plugin_loader ...
如果您发现任何类似的条目,则可能是问题的原因。
答案 3 :(得分:0)
可能是由于缺少ImageMagick安装。 Paperclip使用ImageMagick处理图像。要正确使用回形针,请确保已安装ImageMagick并且回形针可以访问它:
安装ImageMagick(如果您使用的是Mac OS X):
brew install imagemagick
告诉paperclip在哪里找到imagemagick,添加
Paperclip.options[:command_path] = '/usr/local/bin/'
到你的config / environments / development.rb
希望这有帮助。