ruby-on-rails - Rails的ActiveRecord中,列对应的方法名末尾的问号有什么作用?

标签 ruby-on-rails activerecord ruby-on-rails-3.2

如果 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/

相关文章:

ruby-on-rails-3.2 - Rails 生成器未生成正确的测试模板

ruby-on-rails - Multi-Tenancy 和使用 ruby​​ 委托(delegate)与 NoSQL 的租户上下文

sql - Rails ActiveRecord where 子句

mysql - Rails 应用程序在临时服务器上速度很快,在生产环境中慢 20 倍

ruby-on-rails - 更快的保存方法?

ruby-on-rails - 为什么 ActiveRecord::StatementInvalid 在这个 Rails 方法中无法拯救?

c# - Ruby 和 C# 中的方法串联

javascript - 通过 Twitter Bootstrap Modal 登录表单

ruby-on-rails - Rails response_重定向除X mime-type外的所有请求

ruby-on-rails - Rails 4 has_many :through relationship: destroy parent model instance when child model instance count reaches 0