环境:Rails4.0 + Ruby2.0
##问题 1: 有这么一段代码
class Article < ActiveRecord::Base
scope :recent, -> { find_by( name: 'rails' }
end
Article.recent
当数据库中存在 name: 'rails' 的记录时,一切正常。 但是当数据中不存在 name: 'rails' 的记录时,返回了 all 数据。
请问是什么原因?
##问题 2:
在 model 里,有个类型为「boolean」的属性。执行语句:
Article.where( home: true ) => 返回正常返回 home 为 true 的记录)
SQL语句为: select xxx from xxx where 'article.home' = 'f'
Article.where( home: false) => 返回不正常(数据库是有 home 为 false 的记录的)但是返回为空。
SQL语句为: select xxx from xxx where 'article.home' = 't'
Article.where( home: 'false') => 返回正常。