0

我使用在开发中运行良好的 find_by_sql 语句。当涉及到使用规范的测试环境时,它会输出错误:

ActiveModel::MissingAttributeError:缺少属性:已注册

我已经运行 db:test:purge 和 db:test:prepare 来清理测试数据库。但错误仍然发生。在开发和测试中,我使用 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  
4

1 回答 1

0

谢谢塞巴斯蒂安,

我发现了问题。在我的模型中,我初始化字段“已注册”以将其默认设置为“假”。由于 SQL 查询没有返回“已注册”字段,因此它在这一点上中断了。我在它也进入开发阶段后发现它。

于 2012-06-01T09:54:12.240 回答