rails controller降序获取第一个元素

时间:2013-02-05 00:41:49

标签: ruby-on-rails ruby ruby-on-rails-3

这句话有什么问题

@lastloc = Location.all(:customer_id == resource.id , :order => 'created_at DESC').first
if (@lastloc.longitude != params[:customer][:longitude] && @lastloc.latitude != params[:customer][:latitude])
  ...
end

我想要做的是获取具有特定ID的所有位置,然后使用最新的一个订单然后验证是否不同的值然后我继续其他什么都不做

1 个答案:

答案 0 :(得分:1)

您可以这样做:

Location.where("customer_id = ?", resource.id).order('created_at DESC')

IF条件看起来不错,你可以修改“&&”对于“和”,但这只是一种风格问题。

如果您不确定从数据库中检索的记录,您可以启动rails控制台并检查记录,命令是:

rails c -s

这将以沙盒模式启动rails控制台(退出控制台后,所有修改都将回滚)。