2017-12-28 15 views
0

私はfoo.comments.sizeは0レール多形記事コメントauto create one?

を示して私は1件の記事が

問題は、ここで私は、端末を使用してい

あるfoo = Article.create(title: "foo")を使用し作成していますテスト多型の関係使って記事だと

class Article < ApplicationRecord 
    has_many :comments, as: :commentable 
end 
class Comment < ApplicationRecord 
    belongs_to :commentable, polymorphic: true 
end 

コメントしかし、ブラウザでは、自動的に作成されたコメントを表示しますか?

enter image description here

コントローラ:@article.comments.build

form_for [@article, @article.comments.build]

<h1>show</h1> 
<p><%= @article.title %></p> 

<section id="comment-form"> 
    <%= form_for [@article, @article.comments.build] do |f| %> 
     body: <%= f.text_field :body %> 
     <br> 
     <%= f.submit %> 
    <% end %> 
</section> 
comments size: <%= @article.comments.size %> 
<ul> <%= render @article.comments %> </ul> 
+0

のようなものをやっている、あなたは明確なコメントテーブルにしてみてください、あなたが言ったように記事は、デフォルトでコメントを作成することはできません作成する原因となり、このコメントは、以前に手作業で作成されていないことを確信していますクローズド・レール・コンソールを開き、新しい記事を作成し、レール・サーバーも閉じて再オープンします。 –

+0

:)この小さな問題はあまりにも深い隠す –

答えて

1

する必要があるためビューでインスタンスを作成している:

class ArticlesController < ApplicationController 
    def index 
    @articles = Article.all 
    end 

    def show 
    @article = Article.find(params[:id]) 
    end 
end 
0

OK]をクリックして、エラーが見つかりましたは、コメントがdbに永続化されなかったことを意味します。

多分あなたはあなたのビューで@article.comments.build

+0

私に質問してください –

関連する問題