所以我试图在我的表中找到特定列中具有特定值的所有条目。我能想到的唯一方法是查看每个条目,看看它是否有价值,但我希望有一个更有效的解决方案 - 一旦你拥有一个相当大的数据库,这就变得笨拙。
有没有人有更好的主意?
更新 - 我正在创建一个HTML表格,我想填充表格,其中包含模型中特定列中具有特定值的所有条目。我想做的是:
<%= render @users.where("column_name = 'value'") %>
如下面的答案所推荐,但我得到“未定义的方法`其中'为'nil:NilClass”错误。
更新2 - 我不确定为什么@users会为零,但我会稍后尝试解决这个问题。现在,我试过
<% @user_message = User.where("column_name = 'value'") %>
<%= render @user_message %>
但它根本没有显示任何条目。
更新3 - 当我在rails控制台中执行User.all时,我得到了所有用户,因此我知道数据存在。但是,当我执行User.where(“column_name ='value'”)时,我得到一个空数组。我仔细检查了列名和值,以确保数据存在。
更新4 - 修复! - 我不确定为什么它在rails console中不起作用,但我让它在网站上工作。我打电话给我的部分_user_message.html.erb。显然它仍然需要被称为_user.html.erb。感谢大家的帮助!
答案 0 :(得分:2)
听起来你想做一个查询,即
@records = Model.where(:some_column => some_value)
Rails有很好的文档,我建议你看一下ActiveRecord查询指南:
http://guides.rubyonrails.org/active_record_querying.html
伊恩。