我有两个模特:Todo和Duedate。 Duedate有很多东西,同样Todo属于Duedate。 Duedates表包含id和'date'数据类型条目。每个Todo对象都有一个duedate_id列,对应于Duedate id。
Todo在其中有其他值,如优先级和已完成,我按其排序:
@todos = @todos.sort_by(&:priority)
我想按日期排序@todos,但我不确定如何告诉sort_by在duedate表中使用与duedate_id相关联的日期。我不能只做
@todos = @todos.sort_by(&:duedate_id)
因为它只是将@todos按日期输入到duedate表中排序,而不是按条目对应的日期排序。有人可以帮忙吗?
谢谢, 罗斯
答案 0 :(得分:1)
您正在使用symbol_to_proc糖方法。您可以使用plain-old block参数进行sort_by:
@todos = @todos.sort_by{ |todo| todo.duedate.date }
答案 1 :(得分:0)
为什么你有2个模型,为什么你的todo模型中没有duedate字段呢?
如果您的待办事项模型中有截止日期字段,则可以定义范围以对待您的待办事项。