我为JSON请求返回这样的模型
def index
@categories = Category.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @categories.to_json(:include => :todos) }
end
end
现在当我返回这个@categories时,我想要包含:Todos的升序和属性说“positon”。有没有办法可以做到这一点..?
类似这样的事情
render json: @categories.to_json(:include => :todos, :order=>"postion, ASC")
提前致谢
答案 0 :(得分:2)
您可以在category.rb中定义这样的关联:
has_many :ordered_todos,
:class_name => "ToDo",
:order => "position ASC"
然后写下:
render json: @categories.to_json(:include => :ordered_todos)
答案 1 :(得分:1)
user1541507有一个很好的答案。
如果您发现不想使用has_many方法进行排序,并且想要添加计算属性,请考虑使用jbuilder并创建视图以显示json。这里的the railscast解释得很好。