4

これが StackOverflow に関する私の最初の質問です。

Rails 3.2.3 に Paperclip を実装しようとしています。「送信」をクリックして、アップロードされた画像でプロファイルを作成すると、次のようになります。

Paperclip::AdapterRegistry::UsersController#update の NoHandlerError

「スクリーンショット 2012-09-01 at 11.03.43 AM.png」のハンドラが見つかりません

私のサーバーログには、

Paperclip::AdapterRegistry::NoHandlerError (「スクリーン ショット 2012-09-01 at 11.03.43 AM.png」のハンドラが見つかりません): app/controllers/users_controller.rb:65:in block in update' app/controllers/users_controller.rb:64:inupdate'

私の User モデルでは、

attr_accessible :avatar

has_attached_file :avatar, 
        :styles => { 
          :large => "500x500>", 
          :medium => "213x213>", # profile image
          :thumb => "50x50>",
          :smaller => "30x30>" }, 
          :processors => [:cropper],
         # tells paperclip how to crop the image  
        :storage => :s3,
        :s3_credentials => "#{Rails.root}/config/s3.yml", # TODO 
        :path => ":attachment/:id/:style/:basename.:extension",
        :bucket => 'eventsbucket'

S3情報を含めても含めなくても、エラーは解決しません。私の移行では、

class AddAvatarColumnsToUsers < ActiveRecord::Migration
  def self.up
    add_attachment :users, :avatar
  end

  def self.down
    remove_attachment :users, :avatar
  end
end

最後に、Users コントローラーの update アクションで、

def update
    respond_to do |format|
      if @user.update_attributes(params[:user])
        sign_in @user
        format.html { redirect_to @user, notice: 'Profile Successfully Updated' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
   end
end

私のGemfileには、gem「paperclip」、「~> 3.1.4」があります(更新:それ以来、ペーパークリップを思考ボットから直接引き出しましたが、問題は解決しません)。bundle install を実行しました。db:migrate を実行しました。この StackOverflow エントリを読みましたが、「multipart => true」を含めるかどうかにかかわらず、エラーは解決しません。Emerson Lackey Tutorialを試したところ、「5.times...」コマンドの出力を表示しようとするところまではうまくいきました。

Paperclip を機能させることと、「NoHandlerError」とは何か、将来それを回避する方法を理解することに興味があります。

4

1 に答える 1

0

Railscasts のエピソード #134 を試しましたか?

http://railscasts.com/episodes/134-paperclip?view=asciicast

于 2013-04-17T14:01:07.147 に答える