gpt4 book ai didi

ruby-on-rails - Rails 仅迭代与对象关联的持久化记录

转载 作者:太空宇宙 更新时间:2023-11-03 17:31:10 24 4
gpt4 key购买 nike

我的 show Action 中有这样的东西:

def show
@blog = Blog.find(params[:id])
@new_comment = @blog.comments.build
end

现在在 View 中我做了两件事:

  1. 我为 Comment 呈现 _form.html.erb 以便用户可以向该博客添加评论
  2. 我希望能够遍历此博客的现有评论以便显示它们。

我在使用数字 2 时遇到问题。问题是当我用这个遍历相关的 comments 时:

<% @blog.comments.each do |comment| %>

它在遍历相关博客时抓取 @new_comment。我怎样才能排除已构建但尚未持久化的@new_comment

如果像 @blog.comments.each_with_id 甚至 @blog.comments.persisted.each 这样的东西能工作就好了。最终,我只想遍历与此 blog 关联的持久化 comments

我宁愿不必嵌套一个询问评论是否persisted? 的条件。我希望有一个适合我当前情况的迭代器,它只获取持久记录。

最佳答案

如果您在不使用与博客实例的关联的情况下创建新评论会怎么样?然后,当您遍历 @blog.comments 时,它不会显示。

def show
@blog = Blog.find(params[:id])
@new_comment = Comment.new(blog: @blog)
end

关于ruby-on-rails - Rails 仅迭代与对象关联的持久化记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36754188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com