0

これを行う方法がわかりませんか?そして、他のどこからも多くの助けを見つけることができませんでした!

このようにペーパークリップとフォグを設定しました。

config/initializers/fog.rb

     connection = Fog::Storage.new({
       :provider           => 'Rackspace',
       :rackspace_username => '',
       :rackspace_api_key  => ''
     })

環境.rb;

    Paperclip::Attachment.default_options.update({
    :path             => ":attachment/:id/:timestamp_:style.:extension",
    :storage          => :fog,
    :fog_credentials  => {
      :provider           => 'Rackspace',
      :rackspace_username => '',
      :rackspace_api_key  => '',
      :persistent         => false
    },
    :fog_directory    => '',
    :fog_public       => true

})

file_field画像を取得してコントローラーに投稿するために使用しています。これにより、次のようなものが得られます。

"pic"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x007f90ac06a6c8 @original_filename="3245-1920x1200.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"cloth[pic][image]\"; filename=\"3245-1920x1200.jpg\"\r\nContent-Type: image/jpeg\r\n", @tempfile=#<File:/tmp/RackMultipart20130104-5386-103laem>>}

私が理解できないのは、このようなものを使用してこのファイルをクラウドファイルに実際に保存するにはどうすればよいかということです。

file = directory.files.create(
  :key    => 'resume.html',
  :body   => File.open("/path/to/my/resume.html"),
  :public => true
)

編集

関連モデル;

class Cloth
  include Mongoid::Document
  has_many :pics

class Pic
  include Mongoid::Document
  include Mongoid::Paperclip
    belongs_to :cloth

    has_mongoid_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }

そしてコントローラーでは、これが現在上記のパラメーターに基づいて写真を作成している方法です。

@cloth = Cloth.new
@cloth.pics.create!(params[:cloth][:pic])
4

2 に答える 2

3

一歩下がって、別の視点から問題を見てみましょう。次のスクリプトがイメージをコンテナーにアップロードするかどうかを確認できますか:

require 'fog'
service = Fog::Storage.new({
  :provider                 => 'Rackspace',
  :rackspace_username        => YOUR_USERNAME,
  :rackspace_api_key    => YOUR_API_KEY
  })

container = service.directories.new(:key => YOUR_CONTAINER_NAME)
container.files.create :key => 'my-pix.jpg', :body => File.open PATH_TO_FILE

大文字のパラメータを適切な変数で更新して、何が起こるか教えてください。うまくいけば、これは問題を絞り込むのに役立ちます。

于 2013-01-07T21:16:04.533 に答える
2

Paperclip と ActiveRecord は、ファイルのアップロードを自動的に処理します。ここでは、プロセスを説明するための良いクイック スタートを示します。

https://github.com/thoughtbot/paperclip#quick-start

それでも問題が解決しない場合は、関連するコントローラーとモデル コードを教えていただけますか?

于 2013-01-04T16:34:46.617 に答える