【问题标题】:How to select only one element of associated objects in to_json / to_xml如何在 to_json / to_xml 中只选择关联对象的一个​​元素
【发布时间】:2010-07-28 12:51:25
【问题描述】:

我有以下问题。我的应用程序(api 的原型)应该能够对参数(如语言)做出反应。 我已经能够通过发送一个完整的对象(包括关联的对象)作为 JSON 来响应请求。但现在我想通过参数选择关联的对象。 我的代码:

object.to_json(include => {
   :texts_in_diff_languages => {
     #here i should be able to select only languages equal to a given parameter (params[:language])
   }
})

你有什么想法吗?谢谢!

【问题讨论】:

  • 我不确定你到底想做什么。那么,是否有两个表,object 和 associated_objects 之类的?您正在尝试返回对象及其关联对象的子集?

标签: ruby-on-rails json select associations


【解决方案1】:

好吧,我试着用另一种方式来解释它: 我有三张桌子,一张叫书,一张叫文本和第三种语言。 On Book has_many texts 和一个文本有一种语言。 现在我想在 BooksController 中编写一个方法,它返回一个仅包含特定语言的 book:title、book:text:content 的 JSON。 我想从参数(params [:language_id])中获取这种语言。 你现在明白了吗?

我的代码:(选择一本书并包括所有语言的所有文本)

render :json => @book.to_json(
 :only => [:title],
 :include => { 
  :texts => {
   :include => {
    :languages
   }
  }
 })

【讨论】:

    猜你喜欢
    • 2012-11-30
    • 2014-06-20
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    相关资源
    最近更新 更多