1

ネストされたJSONをRailsからJavaScriptに転送しようとしています。これまでのところ、次のJSONを正常に転送しています。

[
  "name" : "task-1",
  "relationships" : [
    {"follower": {"name" : "task-2"}},
    {"follower": {"name" : "task-3"}}
]

このJSONを次のようにフォーマットしたいと思います。

[
  "name" : "task-1",
  "relationships" : [
    {"name" : "task-2"},
    {"name" : "task-3"}
]

JSONを生成する方法は次のとおりです。

@tasks.to_json(
  :include => { :relationships => {
                  :include => :follower,
                  :only => :follower
               } })

「フォロワー」キー名を削除するためにto_json関数で指定できるオプションはありますか?

4

2 に答える 2

0

私は問題を解決するために別のクエリを使用することになりました:

@tasks = Task.to_json(:include => :followed_tasks)

モデルのどこfollowed_tasksで定義されていますか:Task

has_many :relationships, foreign_key: "follower_id", dependent: :destroy
has_many :followed_tasks, through: :relationships, source: :followed

これにより、適切にフォーマットされたJSONが得られます。

[
  "name" : "task-1",
  "followed_tasks" : [
    { "name" : "task-2" },
    { "name" : "task-3" }
]
于 2012-05-10T16:47:43.583 に答える
0

あることがわかります。オプションは次のとおりです。

ActiveRecord::Base.include_root_in_json = false

これをconfig/environment.rbにスローして、準備ができているはずです。

于 2012-04-14T21:06:40.423 に答える