【问题标题】:How to know whether a model is new or not?如何知道一个模型是否是新的?
【发布时间】:2011-03-20 23:47:50
【问题描述】:
class Post < ActiveRecord::Base
end

post = Post.new

如何判断'post'是否是未从数据库中提取的新模型?

【问题讨论】:

  • 请使用 4 个空格缩进将文本标记为代码。

标签: ruby-on-rails ruby model


【解决方案1】:
post.new_record?

【讨论】:

    【解决方案2】:

    如果对象尚未保存,ActiveRecord 的new_record? 方法将返回true

    【讨论】:

    【解决方案3】:

    你可以使用 post.persisted 吗?同样,如果它返回 false 意味着记录在新的

    persisted?

    【讨论】:

    • 这更直接,因为使用new_record?,您需要测试false 以了解您的记录是否已保存。在我看来有点落后的逻辑,但每个人都有自己的逻辑!
    • 来自hosh 提供的评论链接:“new_record? 不会检查记录是否已被销毁。”所以我想如果你正在检查记录是否被破坏,这是需要注意的。
    猜你喜欢
    • 1970-01-01
    • 2013-04-26
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多