ActiveRecord::RecordNotFound in CommentsController#page Couldn't find Comment without an ID def page @comment = Comment.find(params[:id]) end
というエラーが出ます。解決できずに困っています。皆さんの力を貸してください。
config/routes
Rails.application.routes.draw do root to: 'posts#index' post 'posts', to: 'posts#create' get "search", to: "posts#search" get "comment/id", to: 'comments#page' end
コメント画面へのpath
<%= link_to "コメントする", comment_id_path(@comment) %>
コメントのコントローラー
class CommentsController < ApplicationController def index @comments = Comment.all end def page @comment = Comment.find(params[:id]) end end
コメント画面
<%= post.shopname %> <%= @comment.content %> <% @comment.comment.each do |comment| %> <%= comment.from %> <%= comment.body %> <% end %> <%= link_to 'トップページに戻る', root_path %>
commentsテーブル
id | bigint(20) | NO | PRI | NULL | auto_increment | | post_id | bigint(20) | YES | MUL | NULL | | | from | varchar(255) | YES | | NULL | | | body | text | YES | | NULL | | | created_at | datetime | NO | | NULL | | | updated_at | datetime | NO | | NULL |
postテーブル
id | bigint(20) | NO | PRI | NULL | auto_increment | | shopcontent | varchar(255) | YES | | NULL | | | created_at | datetime | NO | | NULL | | | updated_at | datetime | NO | | NULL | | | shopaddress | varchar(255) | YES | | NULL | | | shopname | varchar(255) | YES | | NULL |
Commentモデル
class Comment < ApplicationRecord belongs_to :posts end
Postモデル
class Post < ApplicationRecord validates :shopname, presence: true, length: { maximum: 20 } validates :shopaddress, presence: true, length: { maximum: 30 } validates :shopcontent, presence: true, length: { maximum: 300 } has_many :comments end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。