私のプロジェクト:
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 を持たせる
ペーパークリップがファイルを保存しない理由を理解できません。