Carrierwaveを使ったプロフィールの更新をしようとしたら、以下のエラーが表示された。
原因 解決
can't write unknown attribute avator
と記載されており、モデルはavatarと記載したので、スペルミスと思った。
create_table "users", force: :cascade do |t| t.string "first_name", null: false t.string "last_name", null: false t.string "email", null: false t.string "crypted_password" t.string "salt" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "avatar" t.index ["email"], name: "index_users_on_email", unique: true end
あれ、ちゃんとavatarになってる...
form_withも見てみよう
profile/edit.html.erb
<div class="field"> <%= f.label :avatar, User.human_attribute_name(:avatar) %><br /> <%= f.file_field :avatar %> </div>
ここもavatarになってるな...
user.rb
mount_uploader :avator, AvatarUploader
やっと見つけた! 案の定スペルミスでした。