我正在使用Spree Commerce开发我的电子商务网站。我写的时候
self.where("user_id = ?", user_id)**
用于访问数据库,它显示ActiveRecord::Relation
以及我何时使用
self.where("user_id = ?", user_id).first
它没有返回任何东西。我正在使用
Spree::Modelname.actionname
在视图文件中访问数据。
任何人都可以帮我从rails 3.2中获取数据库中的数据。
答案 0 :(得分:0)
.where(...)
将返回一个关系。如果是单条记录,则为.first
或.last
,如果是一条记录,则为.all
,.to_a
,.limit(...)
。
如果这不起作用,请确保您使用的是Spree用户类:
Spree.user_class.where("user_id = ?", user_id).first
或:
Spree.user_class.where(:user_id => user_id).first
或Ruby 1.9+哈希语法:
Spree.user_class.where(user_id: user_id).first
假设Spree的用户类是由具有“user_id”列的表支持的模型,并且数据库表中有一条记录,其user_id等于您传入的user_id。