我使用find_by_sql语句,它在开发中工作正常。 当使用规范来测试环境时,它会输出错误:
ActiveModel :: MissingAttributeError:缺少属性:已注册
我运行db:test:purge和db:test:准备清理测试数据库。 但错误仍然存在。 在开发和测试中,我使用PostgreSQL。
有问题的陈述如下:
def registered_friends
User.find_by_sql(
["select users.id, users.first_name from users inner join friendships
on users.id=friendships.friend_id
where friendships.user_id = ?
and users.registered = true",self.id])
end
答案 0 :(得分:0)
谢谢Sebastien,
我发现了问题。 在我的模型中,我初始化“已注册”字段,将其默认设置为“false”。 由于SQL查询没有返回“已注册”字段,因此此时它已破坏。 我发现它在开发阶段也破裂了。