2016-05-12 114 views
2

我已经看过文档,一堆SO线程,但我无法在任何地方清楚地定义什么是持久性,以及它应该在哪里使用。什么是ActiveRecord持久性?

我知道这是检查记录是否是新的事情,但我不明白为什么这很有用。

通过“清楚”,我的意思是“足够简单的新手要了解” :)

+0

你的意思是'持续'?活动记录的方法吗? – Pavan

+0

是的 - 一般来说,我想了解持久性,以及为什么我应该使用它(或不)。 –

+0

持续存在?仅用于检查保存在数据库中的对象或者我的意思是它处于新状态或处于编辑模式 – Thorin

回答

3

persisted?方法返回true,如果对象已被保留。持久意味着该对象已被保存在数据库中。你只能在ActiveRecord对象上调用它。

user = User.new 
user.persisted? 
=> false 
user. name = 'test' 
user.save 
user.persisted? 
=> true 
+1

为什么不使用user.save中的布尔! ? –

+0

保存结果用于检查保存是否成功。 持续?结果是为了知道对象是否存在于数据库中。 – Fred

+0

何时您会使用它而不是保存后,查看保存是否成功? –