0

私はそのような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(@exchanger)  do
  attribute :value, :direction_of_exchange_id, :exchanger_list_id
end

私のコントローラは次のとおりです。

  def index
    @exchangers = ExchangerList.all
  end
  def show
    @exchanger = ExchangerList.find(params[:id])
  end

ブラウザで show アクションを開くと、すべて問題ありません。ヘルパーに @exchanger オブジェクトが送信されます。すべて問題ありません。しかし!インデックス アクションを呼び出すと、次のようになります。

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id

データがあれば大丈夫です...

index rabl ビューを使用してヘルパー @exchanger オブジェクトに送信する方法を教えてください。

4

1 に答える 1

0

Heh) 自分で見つけて共有します:

私が書かなければならないのは、root_object だけでした。

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(root_object)  do
  attribute :value, :direction_of_exchange_id, :exchanger_list_id
end
于 2013-04-24T15:16:51.243 に答える