Ruby on rails Ruby,使用“?”-db还是模型方法?

Ruby on rails Ruby,使用“?”-db还是模型方法?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我喜欢用这个?对于布尔字段,例如“动物”表活动?这是很明显的。 我在哪里定义这个?在创建表迁移时,我是否用它命名db字段?我不这么认为。 或者布尔字段是自动的,还是在动物的活动记录模型类中有一个小方法,比如def alive?如果活动,则为true,否则为false结束?Rails会自动生成一个以?对于模型中的每个字段。 一些例子: Animal #=> Animal(id: integer, alive: boolean, name: string) a = Animal.new a.

我喜欢用这个?对于布尔字段,例如“动物”表活动?这是很明显的。 我在哪里定义这个?在创建表迁移时,我是否用它命名db字段?我不这么认为。
或者布尔字段是自动的,还是在动物的活动记录模型类中有一个小方法,比如def alive?如果活动,则为true,否则为false结束?

Rails会自动生成一个以?对于模型中的每个字段。 一些例子:

Animal #=> Animal(id: integer, alive: boolean, name: string)
a = Animal.new

a.alive #=> nil
a.alive? #=> false
a.alive = true
a.alive? #=> true

a.name #=> nil
a.name? #=> false
a.name = "Giraffe"
a.name? #=> true
还请注意,您可以轻松定义自己的?方法:


Rails会自动生成一个以?对于模型中的每个字段。 一些例子:

Animal #=> Animal(id: integer, alive: boolean, name: string)
a = Animal.new

a.alive #=> nil
a.alive? #=> false
a.alive = true
a.alive? #=> true

a.name #=> nil
a.name? #=> false
a.name = "Giraffe"
a.name? #=> true
还请注意,您可以轻松定义自己的?方法:


对于ActiveRecord中的所有布尔字段,此行为都是自动的


作为一个额外的细节,我喜欢用is_uu前缀命名布尔字段。is_alive,表示您is_alive?

对于ActiveRecord中的所有布尔字段,此行为是自动的


作为一个额外的细节,我喜欢用is_uu前缀命名布尔字段。is_alive,giving you is_alive?

很好,但是共享代码时的个人标准对于所有人来说都是一个噩梦,需要使用和维护。直接从Ruby和Rails本身借用。是的,它们就像ruby的方法命名一样,非常棒。他们遵循同样的标准和格式,这也是很好的。然而,我仍然相信:共享代码时的个人标准对于所有人来说都是一场噩梦。请想一想:如果你能把它们放进ruby core中没有问题。很好,但是共享代码时的个人标准对于所有人来说都是一场噩梦,需要使用和维护。直接从ruby和Rails本身借用。是的,它们就像ruby的方法命名一样,非常棒。他们遵循同样的标准和格式,这也是很好的。然而,我仍然相信:共享代码时的个人标准对于所有人来说都是一场噩梦。请想一想:如果你能让它们进入ruby内核,那就没问题了。