为什么评论没有出现在ruby on rails上?

时间:2015-11-10 12:31:04

标签: ruby-on-rails ruby

我在rails博客上制作了一个ruby,作为我项目的一部分。我想在我的博客上添加评论。但是,该网站会收集评论并成功存储,但在显示评论时,它并不起作用。我检查了评论是否使用rails控制台注册并且已注册。它的github存储库是:https://github.com/rocka0/blog-in-rails

注意:如果需要特定代码,请在评论中告诉我

3 个答案:

答案 0 :(得分:0)

https://github.com/rocka0/blog-in-rails/blob/master/app/views/posts/_comments.html.erb#L1

我认为应该是:

<%= div_for @comments do |comment| %>

我有点惊讶它不会在这里抛出任何错误。

编辑:您也没有在控制器中的任何位置设置@comments实例变量:https://github.com/rocka0/blog-in-rails/blob/master/app/controllers/posts_controller.rb#L13您应该这样做或使用@post.comments代替。

答案 1 :(得分:0)

在_comments.html.erb

brew install maven

在posts_controller.rb

........

<%= div_for @comments do |comment| %>
        <p>
                <strong>
                        Posted <%= time_ago_in_words(comment.created_at) %> ago
                </strong>
                <br/>
                <%= comment.body %>
        </p>
<% end %>

答案 2 :(得分:0)

检查您的评论控制器

class CommentsController < ApplicationController
    def create
        @post = Post.find(params[:post_id])
        @comment = @post.comments.create(params[:comment].permit(:name, :body))

        redirect_to post_path(@post)
    end

    def destroy
        @post = Post.find(params[:post_id])
        @comment = @post.comments.find(params[:id])
        @comment.destroy

        redirect_to post_path(@post)
    end
end