0

私のプロジェクト:

    class User < ActiveRecord::Base
         attr_accessor :password 
         attr_accessible :email,
           :password, 
           :password_confirmation, 
           :first_name, 
           :last_name, 
           :birth_date, 
           :residence, 
           :user_role, 
           :show_email,
           :avatar

         as_attached_file :avatar, 
         :default_url => '/images/system/user_avatars/default/default_avatar.png',
         :url => "/public/images/system/user_avatars/:id_:style.:extension",
         :path => "/public/system/user_avatars/:id_:style.:extension"

         def update_profile(user_id, params) #params has :category and :user params
            @user = User.find(user_id)
            @user.update_attributes(params[:user])
            return params[:category]
         end
    end

したがって、コントローラーからこのメソッドを呼び出してもエラーは発生しません。ペーパークリップは添付ファイルが保存されたことを示しています。データベースは更新されますが、画像ファイルは保存されません。私はゼロから登録したので、「attr_accessor :password」を持っています。

私がチェックしました:

  • フォームに :multipart => true がある
  • ユーザーモデルに attr_accessible :avatar を持たせる

ペーパークリップがファイルを保存しない理由を理解できません。

4

1 に答える 1

0

attr_accessible :avatar_file_name同様に設定し、 paperclip.rb 初期化子も必要です。

require "paperclip"  
Paperclip.options[:command_path] = "/ImageMagick" 

もちろん、ImageMagick もインストールしてください。

于 2012-06-22T13:07:04.550 に答える