2
我試圖使用JBuilder的呈現在我的反應在「零」一個JBuilder的部分返回檢索對象,除非它被包裹在一個陣列
class TypeCar < ActiveRecord::Base
attr_accessible :name
belongs_to :car_alias, foreign_key: :name, primary_key: :name, counter_cache: true
has_one :main_car, through: :car_alias, foreign_key: :name, primary_key: :name
end
在JSON的TypeCar對象的JSON響應對於TypeCar部分, 「意見/ API/type_cars/_type_cars.json.jbuilder」,
json.extract! type_car, :name
json.main_car Array.wrap(type_car.main_car) do |main_car|
json.partial! "api/main_cars/main_cars", main_car: main_car
end
和主車 「API/main_cars/_main_cars.json.jbuilder」
json.extract! main_car, :more_info, :name, :id
部分
使用該_type_car局部視圖,返回以下
{
name: test,
main_car: [
{
more_info: "Lorem Ipsum",
name: "New",
id: 198
}
]
我猜測,該主車屬性是因爲結束了該陣列的一個單一的對象陣列中的散列。但是我想刪除它,因爲它是不需要的更多額外級別的嵌套。所以我只想在數組中使用純哈希而不是哈希。
我不得不將對象包裝到一個數組中並將其傳遞給一個枚舉的原因是因爲沒有其他東西似乎可以工作。
這...
json.extract! type_car, :name
json.main_car do
json.partial! "api/main_cars/main_cars", main_car: type_car.main_car
end
給出了這樣的錯誤...
undefined method `more_info' for nil:NilClass
這:
json.extract! type_car, :name
json.main_car type_car.main_car do |main_car|
json.partial! "api/main_cars/main_cars", main_car:main_car
end
給出了這樣的錯誤:
undefined method `map' for #<MainCar:>
即使嘗試類型car中的type_car.main_car.id,也會返回零問題。
非常感謝所有的幫助和指導,謝謝!