0

サーバーに画像をアップロードするためにgem PaperClipを使用していますが、画像はパブリック/システムに保存されているため、このubicationを app/assets/images に変更する必要があります

class User < ActiveRecord::Base
  attr_accessible :email, :name,:photo

  validates :name, :presence => true    
  validates :email, :presence => true
  has_attached_file :photo, :styles => 
           { :medium => "300x300>", :thumb => "100x100>" }

end

これらのオプションが宣言されているRailsCastsのこのチュートリアルを見つけました

has_attached_file :photo, :styles => { :small => "150x150>" },
                  :url  => "/assets/products/:id/:style/:basename.:extension",
                  :path => ":rails_root/public/assets/products/:id/:style/:basename.:extension"

validates_attachment_presence :photo
validates_attachment_size :photo, :less_than => 5.megabytes
validates_attachment_content_type :photo, :content_type => ['image/jpeg', 'image/png']
4

1 に答える 1

3

PaperClipのドキュメントを見ると、次のように記載されています。

添付ファイルとして割り当てられたファイルは、デフォルトで、:pathオプションで指定されたディレクトリに配置されますhas_attached_file。デフォルトでは、この場所は :rails_root/public/system/:class/:attachment/:id_partition/:style/:filename

:pathしたがって、変数をhas_attached_file目的のパスに指定する必要があります。

それが役に立てば幸い!

于 2014-12-15T05:46:51.353 に答える