我已经在我的本地mac上用macOs 10.12创建了一个带有Rails 5.0.0和Ruby 2.5的新项目。现在我试图将paperclip添加到这个项目中,但仍然没有运气。
我的模型类看起来像这样:
class Photo < ApplicationRecord
has_attached_file :file, styles: { big: '1280x1024>', small: '640x480>' }
validates_attachment :file, content_type: { content_type: /\Aimage/ }, file_name: { matches: [/png\Z/i, /jpe?g\Z/i, /gif\Z/i] }, size: { less_than: 15.megabytes }
end
无论我的回形针版本是什么版本,我都没有在我的项目中使用回形针生成器,当我尝试调用模型或它的方法时,我会发现这样的错误:
"NoMethodError (undefined method `has_attached_file' for Photo (call 'Photo.connection' to establish a connection):Class)"
当我添加&#34;包括Paperclip :: Glue&#34;像这里建议https://github.com/thoughtbot/paperclip/issues/705错误更改
NameError (uninitialized constant Photo::Paperclip)
我有什么方法可以绕过这个烂摊子吗? &GT;&LT;
链接到回形针问题 https://github.com/thoughtbot/paperclip/issues/2555
答案 0 :(得分:0)
第一条评论中由hamdi提供的链接是一个答案。
如果您遇到Devise或Paperclip这样的问题,请不要尝试添加&#34;包括Paperclip :: Glue&#34;或者在Devise&#34;扩展Devise :: Models&#34;的情况下。解决此问题的唯一正确方法是回滚所有迁移,终止控制台,再次启动,迁移,再次终止控制台,就这样吧!听起来很愚蠢,但它的工作&gt;&lt;图片上传工作正常,回形针生成器在列表中。
对于所有来自Rails 4的人:
2.5.0 :001 > Photo
=> Photo (call 'Photo.connection' to establish a connection)
对于Rails 5中的控制台来说是完全没问题的行为。在访问模型之前,您必须执行“Photo.connection”&#39;从现在开始。如果你不喜欢它,你可以随时通过添加
来解决它console do
ActiveRecord::Base.connection
end
到你的config / application.rb