如何使用Rabl"按ID排序"JSON

Eak*_*aew 6 json ruby-on-rails ruby-on-rails-3 rabl

我希望json输出顺序为id(子ID)

我可以解决这个问题吗?

这是我项目中的一些代码

show.json.rabl(我用过Rabl)

object @book
attributes :id , :name 

child :questions do
  attributes :id , :name
end
Run Code Online (Sandbox Code Playgroud)

books_controller.rb

def show
    @book = Book.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)

抱歉我的英文,谢谢.

Jac*_*Chu 4

这取决于您的应用程序以及您想要完成的任务,但您可以default_scopeQuestion模型中定义 a ,如下所示:

class Question < ActiveRecord::Base
  default_scope order('id ASC')
end
Run Code Online (Sandbox Code Playgroud)

default_scope或者您可以在模型中定义 a Book

class Book < ActiveRecord::Base
  default_scope joins(:questions).order('questions.id ASC')
end
Run Code Online (Sandbox Code Playgroud)

如果您想立即加载questions,请使用includes而不是join