如果 Person
是 Rails ActiveRecord 类,并且 name
是字符串类型的表列,则 Person#name?
不会似乎与 name
是否真实相对应。例如,如果 name
设置为空字符串,则该字符串为 true,但 name?
返回 false,至少对于 Rails 3.2.x 而言是如此。添加问号有什么作用?
我尝试搜索此内容,但问号不太适合谷歌搜索,甚至无法搜索到符号。
An answer to "Using question mark character in Rails/ActiveRecord column name"提到 ActiveRecord 自动向字段(列?)名称添加问号,但对其作用的评论存在冲突。
最佳答案
如果字段存在?
,它将返回true
。因此空字符串 ""
将返回 false。
关于ruby-on-rails - Rails的ActiveRecord中,列对应的方法名末尾的问号有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42264555/