投稿したtitle,bodyが表示されない

プログラミング初心者です。
当サイトの同じようなエラー内容の記事参考にしましたが解決できなかったため
投稿しました。説明不足の部分もあるかとおもいますがその時はご指摘ください。

実現したいこと

投稿詳細、一覧画面(show.html.erb,index.html.erb)でフォームの入力内容を
表示する。

発生している問題・エラーメッセージ

投稿後一覧画面、詳細画面ともにtitle,bodyが表示されない
エラーメッセージ表示されていません
前提
・テーマは本を読んだ感想を記録する簡単なアプリケーションの開発。
・その本についての感想を投稿・編集・削除できる機能の実装
・主に4つの画面を作成(アプリケーションTOP画面・投稿一覧画面・詳細画面・編集画面)
・投稿一覧と新規投稿フォームを1ページ内(index.html.erb)に置く。

該当のソースコード

HTML

1index.html.erb 2 3<html> 4 <h1>books</h1> 5 <table> 6 <thead> 7 <tr> 8 <th>title</th> 9 <th>body</th> 10 <th></th> 11 </tr> 12 </thead> 13 <tbody> 14 <% @books.each do |book| %> 15 <tr> 16 <td><%= book.title %></td> 17 <td><%= book.body %></td> 18 <td><%= link_to "show",book_path(book.id) %></td> 19 <td><%= link_to "edit",book_path(book.id) %></td> 20 <td><%= link_to "destroy",book,"data-confirm" => "Are you sure?" %></td> 21 </tr> 22 <% end %> 23 </tbody> 24 </table> 25 26 <h3>New Books</h3> 27 28<%= form_with model: @book, url:'books', method: :post do |f| %> 29 30 <h4>title</h4> 31 <%= f.text_field :title %> 32 33 <h4>body</h4> 34 <%= f.text_area :boby %> 35 36 <%= f.submit'Create Book' %> 37<% end %> 38</html>

HTML

1show.html.erb 2<html> 3 <body> 4 <p> 5 <b>Title:</b><%= @book.title %> 6 </p> 7 <p> 8 <b>Body:</b><%= @book.body %> 9 </p> 10 <a class="edit" href="books/:id/edit">edit</a> 11 | 12 <a class="back" href="books">back</a> 13 </body> 14</html>

routes.rb

1Rails.application.routes.draw do 2 get 'books/new' 3 get 'books'=>'books#index' 4 post 'books'=>'books#create' 5 get 'books/:id'=>'books#show', as:'book' 6 get 'books/:id/edit'=>'books#edit', as:'edit_books' 7 delete 'books/:id'=>'books#destroy' 8 get '/'=>'homes#top' 9 # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html 10end

controller

1class BooksController < ApplicationController 2 protect_from_forgery 3 def new 4 end 5 6 def index 7 @book = Book.new(book_params) 8 @books = Book.all.order(created_at: :desc) 9 end 10 def create 11 @book = Book.new(book_params) 12 @book.save 13 redirect_to book_path(@book) 14 end 15 def show 16 @book = Book.find(params[:id]) 17 end 18 19 def edit 20 @book = Book.find(params[:id]) 21 end 22 def destroy 23 @book = Book.find(params[:id]) 24 @book.destroy 25 reditrct_to books_path 26 end 27 28 private 29 def book_params 30 params.permit(:title, :body) 31 end 32end

試したこと

フォームタグの書き方を変える(urlを削除する)
→効果なし

その他当サイト内で同じ内容の質問の回答を参考にしたり、Quiitaなどの投稿サイトを参考にしましたが、解決には至りませんでした。

補足情報(FW/ツールのバージョンなど)

ruby 3.1.2p20
Rails 6.1.7
cloud9

自分でもどこがわかっていないのかがわかっていないので質問内容等わかりづらいと
思いますが、どなたかご教授いただけると幸いです。
よろしくお願いいたします。

コメントを投稿

0 コメント