通过 all 获取的数据 ID 为 5 的 active 为 false 是对的。但是通过 current_account.room 获取的数据 ID 为 5 的 active 为 true 是错的。 为何会因为获取的方式不一致,导致数据问题?
@rooms = current_account.rooms
@rooms.each { |room| puts "#{room.id}:#{room.active?}" }
打印的日志为:
DEBUG - Room Load (0.4ms) SELECT `rooms`.* FROM `rooms` WHERE `rooms`.`account_id` = 8
4:true
5:true
@rooms = Room.all
@rooms.each { |room| puts "#{room.id}:#{room.active?}" }
打印的日志为:
DEBUG - Room Load (0.2ms) SELECT `rooms`.* FROM `rooms`
1:true
2:true
3:true
4:true
5:false