我认为这将是一项简单的任务,但我发现很难让Rails做我想做的事。
我有一系列日期。
所以我认为这样的事情会起作用:
def index
@datetimes = Books.all.map(&:checkouts).flatten.map(&:out_date)
@datetimes.each do |c|
c.to_date
end
end
然后我可以在我的观点中称呼它:
%ul
-@datetimes.each do |c|
%li=c
如何修改数组中的每个键?我在这里缺少什么?
非常感谢你对像我这样的新手,新手和无知的爱好者的好感。
答案 0 :(得分:1)
.each
不会修改来电者。它只是循环通过。您可以将控制器操作更改为:
@datetimes = Books.all.map(&:checkouts).flatten.map{|e| e.out_date.to_date}
您可能还想探索包括:图书查询中的结帐以避免N + 1查询。或者也许做这样的事情。
Checkout.where("book_id is not null").map{|e| e.out_date.to_date}