Ruby on rails Rails包括,但不按ID排序
我的控制器中有一个简单的include语句,但是默认情况下,include表的顺序是id。 在我的例子中,我需要以与接收uuid相同的方式对元素进行排序 查询:Ruby on rails Rails包括,但不按ID排序,ruby-on-rails,Ruby On Rails,我的控制器中有一个简单的include语句,但是默认情况下,include表的顺序是id。 在我的例子中,我需要以与接收uuid相同的方式对元素进行排序 查询: compare_uuids = {xyz, ytb, tyd} @books = Book.where(uuid: compare_uuids).includes(:venue, :related_publisher, :related_author) 上面的表达式响应良好,但假设uuid与其id的顺序如下: id uuid
compare_uuids = {xyz, ytb, tyd}
@books = Book.where(uuid: compare_uuids).includes(:venue, :related_publisher, :related_author)
上面的表达式响应良好,但假设uuid与其id的顺序如下:
id uuid
5 xyz
1 ytb
2 tyd
当语句按id顺序运行时组成的表达式。因此uuid顺序丢失。
有什么办法吗。试试这个
has_many :books, :order => 'priority DESC'
在Rails4中,这种方法现在已被弃用,新的方法是
has_many :books, -> { order(:priority => :desc) }
获取输出:
你可以试试
Authors.books.except(:order).order('priority DESC')
# OR
Authors.books.reorder('priority DESC')
我在Book.rb模型中添加了上述行。。。但事实并非如此working@SyedAsadAbbasZaidi你检查了吗?