【发布时间】:2013-07-24 14:55:48
【问题描述】:
我有一个Door 对象,该对象具有state 类型的string 属性。它只能是以下元素之一:%w[open shut locked]。
在符号上使用字符串有什么含义或原因吗?
door.update_attributes(state: :open)
door.update_attributes(state: 'open')
在 Rails 4 中我们可以这样做:
Door.order(created_at: :desc)
那我为什么不这样做呢?
Door.where(state: :open) # vs state: 'open'
它们是否在所有意图和目的上都等效?我更喜欢使用符号,因为它看起来更干净,而且在数据库中,符号无论如何都是字符串。
【问题讨论】:
标签: ruby-on-rails ruby symbols