可以在to_json上嵌套方法调用

时间:2012-03-13 20:31:48

标签: ruby-on-rails activerecord

我正在尝试做这样的事情:

render :json => r.to_json(:methods => [:food_item => {:method => :price_value}]) 

但它不起作用。这样的事情甚至可能吗?

thx

编辑1 没有关联

def food_item
  MenuItem.find(food_id)
end

1 个答案:

答案 0 :(得分:1)

food_item是ActiveRecord关联吗?如果是这样,你可以尝试

render :json => r.to_json(:include => { :food_item => { :only => :price_value } })

我会根据"编辑1"来完善我的答案。首先,删除food_item方法并添加如下的实际关联:

belongs_to :food_item, :class_name => "MenuItem", :foreign_key => "food_id"

然后再做

render :json => r.to_json(:include => { :food_item => { :only => [:price_value] } })