2013-02-05 58 views
0

什麼是錯的這種說法軌控制器降序排列獲得的第一個元素

@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,然後用最新的一個順序,然後再確認是否不同的值,然後我繼續做別的什麼

+0

用'where'替換'all'。 – jvnill

+0

你是不是指':customer_id == resource.id'?這將評估爲布爾值(總是假的,除非resource.id是符號:customer_id) – quandrum

+0

資源ID是從設計,它給了我的客戶ID,1,2,3 ...我不知道,但是我的if語句適當的紅寶石方式? – Jseb

回答

1

你可以做這樣的事情:

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

如果條件看起來不錯,你可以修改「& &「爲」和「,但這只是一個風格問題。

如果您不能確定從你就可以開始一個軌道控制檯,並檢查記錄數據庫檢索的記錄,命令是:

軌道ç-s

這將啓動軌道控制檯在沙箱模式下(您退出控制檯後,所有修改都會回滾)。

+0

爲了清晰起見,我改變了它,我真正的問題是如果數據是相同的,我會執行什麼內部或不是,因爲我不希望它執行 – Jseb

相關問題