前提・実現したいこと
現在、railsの学習にて画像アップロード機能の実装を行なっている最中ですがエラーが発生してしまい画像がアップロードできない状態です。
エラー内容を調べた所、imageが定義されていないのに指定していることなのかDBに保存できていなということがわかりデータの型を変更したりしましたが変わらずでした。
調べても参考になるような記事がなかったので質問させていただきました。
発生している問題・エラーメッセージ
ActiveModel::MissingAttributeError in RegistrationsController#create can't write unknown attribute `image`
該当のソースコード
rails
1#if @registration.saveの所のようです。 2class RegistrationsController < ApplicationController 3 before_action :set_registration, only: %i[ show edit update destroy ] 4 5 # GET /registrations or /registrations.json 6 def index 7 @q = Registration.ransack(params[:q]) 8 @registrations = @q.result(distinct: true) 9 end 10 11 # GET /registrations/1 or /registrations/1.json 12 def show 13 end 14 15 # GET /registrations/new 16 def new 17 @registration = Registration.new 18 end 19 20 # GET /registrations/1/edit 21 def edit 22 end 23 24 # POST /registrations or /registrations.json 25 def create 26 @registration = Registration.new(registration_params) 27 28 respond_to do |format| 29 if @registration.save 30 format.html { redirect_to @registration, notice: "ルーム情報を登録しました" } 31 format.json { render :show, status: :created, location: @registration } 32 else 33 format.html { render :new, status: :unprocessable_entity } 34 format.json { render json: @registration.errors, status: :unprocessable_entity } 35 end 36 end 37 end 38 39 # PATCH/PUT /registrations/1 or /registrations/1.json 40 def update 41 respond_to do |format| 42 if @registration.update(registration_params) 43 format.html { redirect_to @registration, notice: "ルーム情報を更新しました" } 44 format.json { render :show, status: :ok, location: @registration } 45 else 46 format.html { render :edit, status: :unprocessable_entity } 47 format.json { render json: @registration.errors, status: :unprocessable_entity } 48 end 49 end 50 end 51 52 # DELETE /registrations/1 or /registrations/1.json 53 def destroy 54 @registration.destroy 55 respond_to do |format| 56 format.html { redirect_to registrations_url, notice: "ルーム情報を削除しました" } 57 format.json { head :no_content } 58 end 59 end 60 61 private 62 # Use callbacks to share common setup or constraints between actions. 63 def set_registration 64 @registration = Registration.find(params[:id]) 65 end 66 67 # Only allow a list of trusted parameters through. 68 def registration_params 69 params.require(:registration).permit(:name, :introduction, :price, :address, :img) 70 end 71end 72
試したこと
以下を参考に同じことを実装しましたがエラー内容は変わりませんでした。
恐らく自分と同じ内容のエラーなのですが。
https://qiita.com/katou02/items/eeb9862a7bfbf6f98f07
また以下を参考に画像アップロード機能を実装しました。
https://sadah.github.io/rails-training/ja/002_image_upload.html
補足情報(FW/ツールのバージョンなど)
macOS big sur
バージョン11.2.3
aws cloud9にて実装。
あなたの回答
tips
プレビュー