RoR noob здесь, используя Mongoid.
У меня есть модель (ItineraryItem) с has_one
ассоциацией, которая accepts_nested_attributes_for
class ItineraryItem
include Mongoid::Document
include Mongoid::Timestamps
field :title, type: String
has_one :poi
accepts_nested_attributes_for :poi
end
Я могу создать новую ItineraryItem
путем передачи poi_attributes
Следующее тело параметра работает для создания нового ItineraryItem
вместе с Poi
:
{
"itinerary_item" : {
"title" : "Itinerary Item With New POI",
"description" : "Itinerary Item Description",
"poi_attributes" : {
"title" : "A New POI in creation"
}
}
}
Но я не могу создать новый ItineraryItem
с существующим Poi
Следующее не работает для меня:
{
"itinerary_item" : {
"title" : "Itinerary Item With New POI",
"description" : "Itinerary Item Description",
"poi_attributes" : {
"id" : "5ea9bdf6b980a78222f71263" # I've made sure this id exists
}
}
}
Выше выдает ошибку
Poi недопустимо
с 422 (Unprocessable Entity)
Я предполагаю, что я не должен связывать существующую запись POI, так как это однозначное сопоставление, и каждый ItineraryItem
должен иметь свой собственный Poi
. Но я не уверен. Это заблокировано Rails, или я что-то упустил?