railsにて、投稿一覧と投稿フォームを同じページに表示できるように進めています。
現状投稿フォームをブラウザ上に表示させることはできました。ただ、投稿フォームを入力後、「Create Book」ボタンを押すと、「createアクション」が働いて、詳細画面(showアクション)へページ遷移させるつもりが、
「ActiveModel::UnknownAttributeError in BooksController#create
unknown attribute 'title' for Book.」
とエラーが発生してしまいます。
上記エラーにつきまして、どのようなことが原因で、尚且つどのように対処すれば詳細画面へページ遷移できますでしょうか。
何卒、よろしくお願いいたします。
↓ railsのコントローラーです
railsController
1class BooksController < ApplicationController 2 def index 3 @books = Book.all 4 @book = Book.new 5 end 6 7 def create 8 book = Book.new(book_params) 9 book.save 10 redirect_to book_path(blog) 11 end 12 13 def show 14 @book = Book.find(@params[:id]) 15 end 16 17 private 18 def book_params 19 params.require(:book).permit(:title, :body) 20 end 21end 22
↓ railsのHTMLです
railsHTML
1<div class="main"> 2 <div class="Books"> 3 <h1>Books</h1> 4 <table> 5 <thead> 6 <tr> 7 <th>Title</th> 8 <th>Body</th> 9 </tr> 10 </thead> 11 <tbody> 12 <% @books.each do |book| %> 13 <tr> 14 <td><%= book.title %></td> 15 <td><%= book.body %></td> 16 <td><%= link_to 'Show', book_path(book) %></td> 17 <td><%= link_to 'Edit', edit_book_path(book) %></td> 18 <td><%= link_to 'Destroy', books_path %></td> 19 </tr> 20 <% end %> 21 </tbody> 22 </table> 23 </div> 24</div> 25 26 27 28 29<h2>New book</h2> 30<%= form_with model:@book, local:true do |f| %> 31 32 <p>Title</p> 33 <%= f.text_field :title %> 34 35 <p>Body</p> 36 <%= f.text_area :body %> 37 38 <%= f.submit 'Create Book' %> 39<% end %> 40
↓ railsのルーティングです
routing
1Rails.application.routes.draw do 2 resources :blogs 3end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/20 06:30
2020/10/20 06:35
2020/10/20 07:30
2020/10/20 07:34
2020/10/20 07:44
2020/10/20 10:26