gpt4 book ai didi

ruby-on-rails - Rails : How do I get only the saved models with . 集合?

转载 作者:行者123 更新时间:2023-12-03 16:14:57 25 4
gpt4 key购买 nike

我有一个模型帖子 has_many模型评论。

Posts show行动,有一个列表Comments@comments = @post.comments 一起找到.

我还有一个用于创建新的表单 Comments .表单的对象是用 @comment = @post.comments.build 创建的.

这一切都适用于列出并成功创建评论。

提交评论时出现错误时会出现问题。通过 Post#show 以相同的形式显示错误(因此,在 render "posts/show" 上) .
在这种情况下,我必须设置 @comments = @post.comments再次,但这次评论列表包括用户尝试创建的尚未保存的评论。

我通过使用 @post.comments.all 解决了它,它只给我保存的模型,但 Rails 提示这在 Rails 4 中已被弃用。

如何从我从 @post.comments 获得的评论列表中删除未保存的评论?

最佳答案

我在 Rails 5 应用程序中遇到了类似的问题。这似乎是最直接的方法:

@comment = @post.comments.build
@comments = @post.comments.where.not(id: nil)

关于ruby-on-rails - Rails : How do I get only the saved models with . 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18843754/

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