Я пытаюсь показать заголовок своих сообщений на странице шоу, но он снова и снова показывает эту ошибку.я новичок в рельсах - PullRequest
0 голосов
/ 06 июня 2019

** Я сделал контроллер и модель для поста и не смог показать свой пост заголовок на странице шоу, но я постоянно получаю ту же ошибку **

my posts_controller code :


class PostsController < ApplicationController
    def index

    end

    def new 


    end
    def create
    #render plain: params[:post][:body].inspect
    @post = Post.new(post_params)
    if @post.save
        redirect_to posts_path
    else
        render "new"
    end
    end
   def show
    @post= Post.find(:id=>params[:id])
    # @article = "prateek"
   end
   private
   def post_params
    params.require(:post).permit(:title,:body)

   end
end

мой файл show.html.erb:

<h1><%= @post.title %></h1>

мой файл post.rb:

class Post < ApplicationRecord
end


**I expect the result but I didn't get anything right
 error = NoMethodError in Posts#show
    undefined method `title' for nil:NilClass**

1 Ответ

2 голосов
/ 06 июня 2019

Вы передаете хэш find, в то время как вы должны передать только идентификатор.

@post= Post.find(params[:id])

или используйте find_by, если хотите передать хеш

@post= Post.find_by(:id => params[:id])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...