NameError в Posts # index (неопределенная локальная переменная или метод `post 'для неопределенной локальной переменной или метод` post' для # <#: 0xc568590> - PullRequest
0 голосов
/ 28 марта 2019

Я получаю эту ошибку в моем приложении rails =>

неопределенная локальная переменная или метод `post 'для # <#: 0xc568590>

яиспользуя ruby ​​2.3 и rails 5.2, вот код Index.html.haml

- @posts.each do |post|
  =link_to (image_tag post.image.url(:small))
  %h2= link_to post.title, post
%p
  = post.comments.count
  Comments

= link_to "Add New Inspiration", new_post_path

ошибка поднимается на = post.comments.count

и вот мой пост-контроллер

class PostsController < ApplicationController
    before_action :find_post, only: [:show, :edit, :update, :destroy]
    before_action :authenticate_user!, except: [:index, :show]

    def index
        @posts = Post.all.order("created_at DESC")
    end

    def show
        @comments = Comment.where(post_id: @post)
    end
    def new
        @post = current_user.posts.build
    end
    def create
        @post = current_user.posts.build(post_params)

        if @post.save
            redirect_to @post
        else
            render 'new'
        end
    end
    def edit

    end
    def update
        if @post.update(post_params)
            redirect_to @post
        else
            render 'edit'
        end
    end
    def destroy
        @post.destroy
        redirect_to root_path
    end

    private

    def find_post
        @post = Post.find(params[:id])
    end
    def post_params
        params.require(:post).permit(:title, :link, :description,:image)
    end
end

1 Ответ

0 голосов
/ 28 марта 2019

Это проблема отступов. Попробуйте ниже

- @posts.each do |post|
  =link_to (image_tag post.image.url(:small))
  %h2= link_to post.title, post
  %p
    = post.comments.count
    Comments

  = link_to "Add New Inspiration", new_post_path
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...