我正在试图找出一种方法,我可以通过该数组中的索引来订购以下查询...
@books_sorted.map(&:id) => ["31f1d544-4ce5-4bcd-89fd-8a76e4c052fe",
"1ccaab81-9443-40b6-9f0e-06b799377d9e",
"622ebbdf-4eb9-4b2e-879a-5d93c0bdfb29",
"1e255968-6094-4bdb-90de-9c0922a0ad4e",
"14d08406-3136-48e4-84c9-314a652ccf34"]
@books = @books.where("books.id in (?)", @books_sorted.map(&:id)) if @books_sorted.any?
答案 0 :(得分:0)
这应该有用。
@books_sorted.collect {|book| @books.detect{|x| x.id == book.id}} if @books_sorted.any?
请注意:这不是一个有效的解决方案,因为我们在ruby而不是数据库查询中进行排序。 希望它有所帮助:)