Rails上回形针的问题5

时间:2018-02-15 08:35:18

标签: ruby-on-rails ruby-on-rails-5 paperclip

我已经在我的本地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

1 个答案:

答案 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