我有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. 创建多个php阵列
- 7. 创建多个dimesion阵列
- 8. 如何从一个列表中创建多个列表?
- 9. 如何从多个阵列创建单个数组?
- 10. 从多个列表创建列表?
- 11. 从另一个阵列创建阵列
- 12. 从两个阵列创建阵列
- 13. 从阵列中创建一个表
- 14. 创建一个从阵列
- 15. 创建一个从阵列
- 16. 创建从两个阵列
- 17. 创建一个从阵列
- 18. 创建动态对象/从多个阵列阵列 - 的Javascript
- 19. 如何从两个1d阵列创建2d阵列
- 20. 如何创建对象,从多个阵列
- 21. SQL从多个表和列创建表
- 22. 如何创建多阵列PHP
- 23. 从PHP阵列创建HTML列表
- 24. 创建从CSV列表阵列
- 25. 如何从单个无序列表创建多列?
- 26. 如何从多个表创建视图?
- 27. 如何使用* args从列表创建多个html表格?
- 28. 如何从阵列创建哈希
- 29. 如何从$ _SESSION创建阵列
- 30. 如何从阵列创建字典
简单而有效的..非常感谢你! –