【发布时间】:2013-04-24 11:06:54
【问题描述】:
我有这样的 index.rabl:
collection @exchangers, :root => "bank", :object_root => false
extends "exchanger_lists/show"
等show.rabl:
object @exchanger
attributes :id, :name, :address, :location_id, :latitude, :longitude, :exchanger_type_id
node(:location_name) {|exchanger_list| exchanger_list.location.name }
node(:exchanger_type_name) {"normal" }
child @currencies do
attribute :value, :direction_of_exchange_id, :exchanger_list_id
end
我的控制器是这样的:
def index
@exchangers = ExchangerList.all
end
def show
@exchanger = ExchangerList.find(params[:id])
@currency_list = CurrencyList.all
@currencies = []
@currency_list.each do |c|
@currencies << CurrencyValue.find(:all, :conditions => {:currency_list_id => c.id, :exchanger_list_id => @exchanger.id}, :order => :updated_at).last(2)
end
@currencies.flatten!
end
如果我在浏览器显示方法中调用,我会看到子 @currencies 和它的数据,但如果我调用索引,我会看到所有(我也看到节点),但我没有看到子子......怎么了?我做错了什么?
【问题讨论】:
-
您的意思是您看不到@currencies 子节点吗?当您调用 index 并仅渲染显示模板时,此实例变量将为 nil。
-
@dan 是的,也许你是对的......但是我该如何解决我的问题呢?
-
我没有忽略你,因为评论空间不足,我发布了答案。
标签: ruby-on-rails json rabl