簡體   English   中英

Rails上回形針的問題5

[英]Problems with paperclip on Rails 5

我在我的本地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)"

當我添加“包括Paperclip :: Glue”之類的建議在這里https://github.com/thoughtbot/paperclip/issues/705錯誤更改為

NameError (uninitialized constant Photo::Paperclip)

有什么方法可以繞過這個爛攤子嗎? > <

鏈接到回形針問題https://github.com/thoughtbot/paperclip/issues/2555

hamdi在第一條評論中提供的鏈接就是答案。

如果您遇到Devise或Paperclip這樣的問題,請不要嘗試添加“包括Paperclip :: Glue”或者在Devise“擴展Devise :: Models”的情況下。 解決此問題的唯一正確方法是回滾所有遷移,終止控制台,再次啟動,遷移,再次終止控制台,就這樣吧! 聽起來很愚蠢,但它正在工作> <圖片上傳正在工作,紙夾生成器在列表中。

對於來自Rails 4的所有人:

2.5.0 :001 > Photo
 => Photo (call 'Photo.connection' to establish a connection)

對於Rails 5中的控制台是完全正常的行為。在訪問模型之前,你必須從現在開始執行'Photo.connection'。 如果您不喜歡它,您可以隨時通過添加來修復它

console do
  ActiveRecord::Base.connection
end

到你的config / application.rb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM