0

お願いします、私の設定を見ていただけますか?アプリで Carrierwave をセットアップしようとしていますが、運用サーバーでは機能しません。本番環境としてもローカルで動作しています。問題は、画像を tmp ディレクトリに保存していることですが、結果は「空のファイルのアップロード結果」です。ファイルに保存してS3に保存しようとしましたが、同じ結果でした。Passenger - Nginx を使用しています。

私はこれで2日間怒っています。これをデバッグする方法についてのアイデアやヒントは大歓迎です。すべての権限を設定したので、権限の問題ではないと思います。ファイルは tmp ディレクトリに保存されますが、アプリはそれらをユーザーが所有していると見なしていないようです???

ありがとう!!!

#application.rb

require File.expand_path('../boot', __FILE__)

require 'rails/all'

if defined?(Bundler)
  Bundler.require(*Rails.groups(:assets => %w(development test)))
end

module MyApp
  class Application < Rails::Application
    config.encoding = "utf-8"
    config.filter_parameters += [:password]
    config.active_support.escape_html_entities_in_json = true
    config.active_record.whitelist_attributes = true
    config.assets.initialize_on_precompile = false
    config.assets.enabled = true
    config.assets.version = '1.0'
  end
end



# avatar_uploader.rb

class AvatarUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick
  include ActiveModel::Conversion
  extend ActiveModel::Naming
  def extension_white_list
  %w(jpg jpeg gif png mp3)
end
  include Sprockets::Helpers::RailsHelper
  include Sprockets::Helpers::IsolatedHelper

  storage :fog

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  version :thumb do
    process :resize_to_fill => [200,200]
  end

end



# carrierwave.rb

CarrierWave.configure do |config|
  config.fog_credentials = {
      :provider               => 'AWS',       # required
      :aws_access_key_id      => 'ACCESS',       # required
      :aws_secret_access_key  => 'SECRET',       # required
      :region                 => 'eu-west-1'  # optional, defaults to 'us-east-1'
  }
    config.fog_directory  = 'my_app_bucket' 
  end



# production.rb 

MyApp::Application.configure do

  config.cache_classes = true
  config.consider_all_requests_local       = true # default false, debug true
  config.action_controller.perform_caching = true #default true
  config.serve_static_assets = true  # Carrierwave true - Default false
  config.assets.compress = true
  config.assets.compile = false # false for real production
  config.assets.digest = true
  config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
  config.log_level = :debug
  config.cache_store = :dalli_store
  config.assets.precompile += %w( search.js )
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.action_mailer.default_url_options = { :host => 'localhost' }
end
4

1 に答える 1

0

解決しました!

ImageMagick のインストールにデリゲートがありませんでした。今:

convert -list configure

    DELEGATES     bzlib fontconfig freetype jpeg jng lqr pango png x11 xml zlib
于 2012-09-14T17:21:23.070 に答える