2011-11-21 41 views
0

我有一個模型的設置,像這樣:的Rails 3如何調用時參數發送到嵌套的對象as_json

class Item < ActiveRecord::Base 
    belongs_to: media 

    def as_json(options={}) 
    super(:include => :media) 
    end 
end 

class Media < ActiveRecord::Base 
    def media_func(some_param) 
    ... 
    some_val 
    end 

    def as_json(options={}) 
    output = super(:include => :media) 
    output[:some_attr] = media_func(options[:some_param]) 
    output 
    end 
end 

我有一個這樣的控制器:

class Api::FeedsController < ApplicationController 
    def item_list 
    @some_param = some_parameter 
    @item_list = Item.all 
    render :json => @item_list 
    end 
end 

如何赫克我通過@some_param,以便媒體對象在渲染到json時接收它?

回答

0

只需添加此控制器:

render :json => @item_list.as_json(:some_param => @some_param)

編輯。將方法as_json添加到對象。

+0

我不知道這個答案如何工作。 '@ item_list'是一個數組,而數組不是方法,所以這將是一個語法錯誤。 –