0

Ruby (1.9.3) on Rails (3.2.9) アプリを Windows Azure 仮想マシンで実行しています (Ruby-Stack-1-9-3-6-Ubuntu-12-10 イメージを使用)。Capistrano を使用して VM に正常にデプロイできますが、ファイルのアップロードと Azure Storage に関しては壁に達しています。

waz-storage gemを使用するpaperclip- azure-storage gemを実装しようとしていますが、このエラーを回避できないようです。

undefined method 'new' for nil:NilClass

Video オブジェクトを (単純な Rails フォームを使用して) 作成/更新/破棄しようとすると、常にこのエラーが発生します。明確にするために、ローカル マシンと VM インスタンスの両方でこのエラーが発生します。

Video モデルで次のコードをコメントアウトするとすぐにすべてが機能するため、エラーが Paperclip にあることはわかっています。

has_attached_file :pic, :storage => :azure1

両方の gem ソース (上記のリンク) からの指示に従って、次のファイルを追加しました。

  • azure.yml(私の Azure ストレージ アカウント名とアクセス キーが含まれています)
  • storage.rb( paperclip-azure-storage gem からコピーし、/lib/paperclip に追加)
  • paperclip.rb(これも paperclip-azure-storage gem からコピーされ、初期化子のリストに追加されました)

基本をカバーするには:

  • Gemfile:gem 'paperclip'バージョン 3.4.1 に更新されました
  • 形式:オプション<%= form_for @video, html: { multipart: true } do |video_form| %>の有無にかかわらず試してみました。url
  • 各環境ファイルで:Paperclip.options[:command_path] = "/opt/local/bin/convert"
  • picスキーマ:添付ファイルが Videos テーブルに適切に追加されたことを確認するために検証されました

答えを求めて精力的に調査しましたが、問題の根本を見つけることができないようです。ImageMagick が正しくインストールされていませんか? ファイルの配置や構成が正しくありstorage.rbませんか? paperclip.rbそれともまったく別のものですか?

私のpaperclip.rbイニシャライザのコードは次のとおりです。

module Paperclip
  class Attachment
    def self.default_options
      @default_options ||= {
        :styles            => {},
        :processors        => [:thumbnail],
        :convert_options   => {},
        :default_url       => "/rails.png",
        :default_style     => :original,
        :whiny             => Paperclip.options[:whiny] || Paperclip.options[:whiny_thumbnails],
        :storage           => :azure1,
        :path              => ":modelname/:attachment/:id/:style/:filename",        
        :azure_credentials => "#{Rails.root}/config/azure.yml",
        :azure_container   => "system",
        :azure_host_alias  => "name_of_azure_storage.blob.core.windows.net",
        :url               => ':azure_domain_url',
      }
    end    
  end
end

必要に応じて追加のコードを投稿します。

Windows Azure で前述の gem の実装を試みた/成功した人はいますか? ガイダンス/提案があれば幸いです。

4

1 に答える 1