0

ここに画像の説明を入力

投稿リソースにネストされたコメント リソースがあります。

  def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.build(params[:comment])
    @comment.ip = request.remote_ip
    if @comment.save
      redirect_to post_path(@post, notice: "Comment was successfully created")
    else
      flash[:alert] = "Comment could not be created"
      render 'posts/show'
    end
  end

これはすべて十分に機能しますが、コメントフォームのある投稿/表示ページが再レンダリングされると、インラインで検証に合格しなかったコメントが表示されるという厄介な項目があります。ビューレイヤーでいくつかのロジックを実行して、保存されていないコメントを表示しないようにする以外に、これを行う正しい方法を知りたいです。

4

1 に答える 1

0

他の解決策が見つからなかったので、ビューで解決することになりました

<% @post.comments.each do |c| %>
  <% unless c.new_record? %>
    <strong><%= "#{c.name} wrote: " %></strong><br />
    <blockquote><%= c.body %></blockquote>
  <% end %>
<% end %>
于 2012-12-06T18:29:58.350 に答える