Mam taki układ modeli:
[code=ruby]class Poject
include DataMapper::Resource
property :id, Serial
has n, :project_translations
accepts_nested_attributes_for :project_translations
end
class PojectTranslation
include DataMapper::Resource
property :id, Serial
property :name, String
belongs_to :project
end[/code]
Jak tworze projekt z tłumaczeniami to używam konstrukcji
Project.create(project_translations_attributes: [ { name: 'test' } ])
Tworzy to obiekt bez problemu, do aktualizacji obiektu dla nested resource muszę podać id:
Project.get(1).update(project_translations_attributes: [ { id: 1, name: 'test' } ])
Jak nie podam id to update nie wykona się całkowicie.
Jak rozwiązać przypadek jeśli edytujemy projekt (w formularzu na stronie) i nowe tłumaczenie projektu powinno zostać zapisane, ale ponieważ jest to nowe tłumaczenie to nie posiada id. Czy jest jakiś sposób aby w momencie edycji projektu (zapisywania zmian) można było zaktualizować obiekty istniejące i utworzyć nie istniejące obiekty ?