致电
pry(main)> User.where(is_validated: false).first.is_validated
User Load (0.9ms) SELECT "users".* FROM "users" WHERE "users"."is_validated" = 'f' ORDER BY "users"."id" ASC LIMIT 1
=> nil
有问题的模型确实存在,并且验证值为false
。
答案 0 :(得分:0)
问题似乎是要从活动记录模型上的布尔字段获取值,您需要使用问号结束它,这将在任何列上返回布尔值
pry(main)> User.where(is_validated: false).first.is_validated?
User Load (0.8ms) SELECT "users".* FROM "users" WHERE "users"."is_validated" = 'f' ORDER BY "users"."id" ASC LIMIT 1
=> false
我可能错过了它,但我还没有看到其他地方记录过这个“功能”。
编辑:但是,在委派所述专栏时,似乎没有问号。
Outlet.first.is_national
Outlet Load (34.9ms) #...
Location Load (51.5ms) #...
=> true