我有3個模型:運營商,產品,費率。每個承運人has_many :products
和每個產品has_many :rates
。我正在嘗試創建一個html表格,該表格將循環顯示每個產品,並僅顯示最新的費率。我假設我需要將它存儲在一個數組(或散列?)中,但不太清楚如何(因爲我是編程新手,但學習!)。有人可以幫忙嗎?如何從多個表創建陣列
回答
我會做模型是這樣的:
class Product < ActiveRecord::Base
def current_rate
rates.order('created_at ASC').last
end
end
然後這個視圖:
<%= product.current_rate %>
最近的匯率是在您的數據庫上創建的最後匯率。如果這個信息是真的,那意味着只有一個(limit 1
)行按創建日期降序(created_at DESC
)排序的SQL查詢將獲得您想要的記錄。知道了這一點,你可以在你的速度模型創建範圍:
scope :current_rate, order('rates.created_at DESC').limit(1).first
# As @AntohnyAlberto said, limit would bring an array, so you may use .first on the results
# Or you can use just .first, as it would bring only the first one
scope :current_rate, order('rates.created_at DESC').first
並在您的視圖中使用此範圍在您的產品循環:
<%= product.rate.current_rate %>
使用'limit',AR將帶回一組模型...更好地使用'first'來直接取回對象:'scope:current_rate,order('rates.created_at DESC')。' –
@AnthonyAlberto噢,更新答案。 – MurifoX
謝謝..我會試試這個 –
- 1. 從多個陣列創建主陣列
- 2. 如何創建多個JSON陣列
- 3. 如何從列表創建矩陣?
- 4. 從多個陣列創建一個排名列表
- 5. 從多個列向量創建矩陣
- 6. 創建多個dimesion陣列
- 7. 創建多個php陣列
- 8. 如何從一個列表中創建多個列表?
- 9. 如何從多個陣列創建單個數組?
- 10. 從多個列表創建列表?
- 11. 從另一個陣列創建陣列
- 12. 從陣列中創建一個表
- 13. 創建一個從陣列
- 14. 創建一個從陣列
- 15. 創建一個從陣列
- 16. 創建從兩個陣列
- 17. 創建動態對象/從多個陣列陣列 - 的Javascript
- 18. 如何從兩個1d陣列創建2d陣列
- 19. 如何創建對象,從多個陣列
- 20. SQL從多個表和列創建表
- 21. 如何與jquery從柱的陣列創建一個HTML表值
- 22. 如何創建多陣列PHP
- 23. 從陣列創建對象列表
- 24. 創建從CSV列表陣列
- 25. 從PHP陣列創建HTML列表
- 26. 如何從單個無序列表創建多列?
- 27. 如何從多個表創建視圖?
- 28. 如何使用* args從列表創建多個html表格?
- 29. 如何從陣列創建哈希
- 30. 如何從$ _SESSION創建陣列
簡單而有效的..非常感謝你! –