何度も質問すみません。
現在読んだ本の内容を投稿するサイトを作成しているのですが、
投稿をしようとすると以下のエラーが表示されます。
ActiveModel::UnknownAttributeError in BooksController#create
unknown attribute 'body' for Book.
Bookにbodyのカラムがないという事でしょうか・・・
カラム追加等試してみたのですが余計にエラーが起こってしまい、
行き詰まってしまいました・・・
お手数ですがどのような処理を行えば良いのか
アドバイスいただけると幸いでございます。
何卒宜しくお願い致します。
books_controller.rb
def create @book = Book.new(book_params) ←エラー画面にて赤線で表示されている行 @book.user_id = current_user.id if @book.save flash[:notice] = "You have created book successfully." redirect_to book_path(@book.id) else @books = Book.all render :index end end
books.rb
class Book < ApplicationRecord belongs_to :user has_many :favorites, dependent: :destroy has_many :book_comments, dependent: :destroy def favorited_by?(user) favorites.where(user_id: user.id).exists? end validates :title, presence: true validates :body, presence: true, length: {maximum: 200} end
> Bookにbodyのカラムがないという事でしょうか・・・
そうだと思います
> カラム追加等試してみたのですが余計にエラーが起こってしまい、
> 行き詰まってしまいました・・・
対処方はそれで合っているはずですが……
質問文に以下の情報を追記してください。
【1】db/schema.rb の中身
【2】具体的に、どうやってカラム追加しようとしたのか?
【3】「余計に起きたエラー」のエラーメッセージ
method `book_params` が具体的に何をしているかの情報が必要です。
遅くなり大変申し訳ございません。ご回答いただき誠にありがとうございます。
カラム追加記載方法が誤っており、やり直したところ解決する事ができました。
ありがとうございました。
回答1件
あなたの回答
tips
プレビュー