Rails 4 - 按未存储在数据库中的内容排序
Rails 4 - Ordering by something not stored in the database
我正在使用 Rails 4. 我有一个具有 hour_price
day_price
和 week_price
属性的 Room
模型。
在索引上,用户可以输入他们希望入住房间的不同时间和日期。基于这些值,我有一个辅助方法,然后使用上面提到的价格属性计算他们将花费的总价。
我的问题是 什么是对 rooms
进行排序并将它们从小到大排序(根据价格)的最佳方法。很难找出最好的方法来做到这一点,尤其是考虑到价格是由助手计算出来的,而不是存储在数据库中的时候。
您可以加载所有这些并按原样进行数组排序 suggested here, and here。虽然这不会很好地扩展,但如果您已经按可用房间筛选,这可能就足够了。
您可以通过构建自定义 sql 订单将其推回数据库。
Rooms.order("(#{days} * day_price) asc")
我正在使用 Rails 4. 我有一个具有 hour_price
day_price
和 week_price
属性的 Room
模型。
在索引上,用户可以输入他们希望入住房间的不同时间和日期。基于这些值,我有一个辅助方法,然后使用上面提到的价格属性计算他们将花费的总价。
我的问题是 什么是对 rooms
进行排序并将它们从小到大排序(根据价格)的最佳方法。很难找出最好的方法来做到这一点,尤其是考虑到价格是由助手计算出来的,而不是存储在数据库中的时候。
您可以加载所有这些并按原样进行数组排序 suggested here, and here。虽然这不会很好地扩展,但如果您已经按可用房间筛选,这可能就足够了。
您可以通过构建自定义 sql 订单将其推回数据库。
Rooms.order("(#{days} * day_price) asc")