Ruby on rails 在heroku上设定数据库种子时损坏的图像
我有一个Rails 4应用程序,它使用回形针来附加照片。My db/seeds.rb文件为我的个人模型添加了一些照片,其中的线条如下:Ruby on rails 在heroku上设定数据库种子时损坏的图像,ruby-on-rails,ruby,heroku,Ruby On Rails,Ruby,Heroku,我有一个Rails 4应用程序,它使用回形针来附加照片。My db/seeds.rb文件为我的个人模型添加了一些照片,其中的线条如下: Person.create(:first_name => 'Jon', :last_name => 'Snow', :photo => File.open("#{Rails.root}/app/assets/images/jon-snow.png)) 在我的app/models/person.rb文件中,我将:照片作为回形针附件
Person.create(:first_name => 'Jon', :last_name => 'Snow',
:photo => File.open("#{Rails.root}/app/assets/images/jon-snow.png))
在我的app/models/person.rb文件中,我将:照片作为回形针附件进行裁剪和调整大小:
class Person < ActiveRecord::Base
has_attached_file :photo,
:styles => { :medium => "256x256#", :small => "64x64#", :tiny => "24x24#" },
:default_url => :set_default_avatar,
:url => "/assets/photos/:id/:style/:basename.:extension",
:path => ":rails_root/public/assets/photos/:id/:style/:basename.:extension"
validates_attachment_size :photo, :less_than => 5.megabytes
validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']
还有很多其他的事情,但都不管用。任何帮助都将不胜感激。来自
slug的文件系统是只读的,这意味着您不能
动态写入文件系统以实现半永久性存储。这个
不支持以下类型的行为:在
公共目录将上传的资产保存到本地磁盘(例如
附件\u-fu或回形针)
从中使用
slug的文件系统是只读的,这意味着您不能
动态写入文件系统以实现半永久性存储。这个
不支持以下类型的行为:在
公共目录将上传的资产保存到本地磁盘(例如
附件\u-fu或回形针)
使用这个问题与我在回答中描述的相同 文件系统中存在错误,因此您无法在文件系统中写入 在中,文件系统不再是只读的,因此上载不会失败。但是,您应该继续使用AWS或任何其他外部存储,因为Heroku将编译后的应用程序分发到多台机器上,并且不能保证从另一个请求中可以看到映像。他们叫它
换句话说,您应该继续使用AWS或Heroku文件系统之外的任何其他存储问题与我在本回答中描述的相同 文件系统中存在错误,因此您无法在文件系统中写入 在中,文件系统不再是只读的,因此上载不会失败。但是,您应该继续使用AWS或任何其他外部存储,因为Heroku将编译后的应用程序分发到多台机器上,并且不能保证从另一个请求中可以看到映像。他们叫它
换句话说,您应该继续使用AWS或Heroku文件系统之外的任何其他存储我在这个项目上与offthewahls合作,并且该评论只适用于竹堆。此项目位于Cedar stack上。请在问题上注明,因为它很重要。我可能错了,但是:Heroku上只有一个可写文件夹,这是tmp文件夹,您也应该将其配置为tmp文件夹以供上传。我正在与offthewahls合作处理此项目,该评论仅适用于竹堆。此项目位于Cedar stack上。请在问题上注明,因为它很重要。我可能错了,但是:Heroku上只有一个可写文件夹,这是tmp文件夹,您也应该将其配置为tmp文件夹,以便上载。此外,我应该提到,从网页手动将文件上载到Heroku很好。但是在数据库中植入种子是问题所在。另外,我应该提到,从网页手动将文件上传到heroku也可以。但问题出在数据库中,谢谢你的回复。我可能得和AWS一起去。但是,怎么可能通过web界面上传的文件显示得很好,而通过db种子创建的文件却被破坏了呢?如果它们都只是存储在heroku上未分发的缓存系统中,那么它们不会全部显示为已损坏吗?因为当您通过控制台访问heroku时,您正在连接(并保存文件)的计算机可能不是您使用HTTP接口时连接的计算机。谢谢您的回复。我可能得和AWS一起去。但是,怎么可能通过web界面上传的文件显示得很好,而通过db种子创建的文件却被破坏了呢?如果它们都存储在heroku上未分发的缓存系统中,那么它们不是都会显示为已损坏吗?因为当您通过控制台访问heroku时,您正在连接(并保存文件)的计算机很可能不是您使用HTTP接口时连接的计算机。
<img alt="Jon Snow" src="/assets/photos/21/small/jon-snow.png?1386825683">
heroku run rake assets:precompile