Rails 请教 mongodb 的元编程问题

mobiwolf · July 14, 2012 · Last by zhangyuan replied at July 16, 2012 · 2505 hits

现在的需求是,我给用 devise+mongodb 的登陆验证加一个手机 auth 认证的功能。 请求地址:http://localhost:3000/api/v1/[email protected]&password=123456

Rails 后台获取到 email 和 pw 两个参数,现在我用 email 去数据库里面找一下看看是否存在该用户。

@user=User.find_by_email(email.downcase) 却提示说在 User 类中找不到 find_by_email 这个方法

这个方法在使用 mongodb 的时候不能用,为何?我该如何实现上述功能?

谢谢~~

mongoid 没有实现 find_by_xxx 动态方法

User.where(:email => email.downcase).first

你可以用 mongo mapper

题外话:请求地址里包含用户名和密码不安全,因为在访问日志里,会记录 GET 请求的地址。这样和明文保存用户名密码没什么区别了。

自己 def 个 find_by_email 呗

@zhangyuan 请教一下,你说的这个不安全的问题,如何解决好呢?我现在的办法是把 name 和 pw 放在 http 的 body 中了?不再放在 get 的参数里面了。

#5 楼 @mobiwolf 放在 body 应该没问题了,就是改成 POST 请求。

You need to Sign in before reply, if you don't have an account, please Sign up first.