【发布时间】:2013-03-28 17:32:34
【问题描述】:
我有一个页面可以显示所有客户的详细信息,或者如果在参数中指定,则仅显示一个客户的详细信息。
我的控制器看起来像这样。
def display_customers
@all_customers = Customer.all
if params[:customer_id]
@customers = Customer.find(:all, conditions: ["id = ?", params[:customer_id]])
else
@customers = @all_customers
end
end
我使用@all_customers 填充客户下拉列表。
我使用@customers 对每个客户执行each 循环。
然后,如果指定了 customer_id 参数,@customers 将只是单个客户。
这很好用,但@customers = Customer.find(...) 是一个额外的数据库查询。
我已经拥有@all_customers 中的所有客户,所以我认为会有更好的方法从那里获取我需要的一条记录 - 而不是再次回到数据库。
【问题讨论】:
-
你真的应该,真的开始每级缩进使用两个空格。在 Ruby 社区内,您不能自己制作缩进样式。
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord rails-activerecord