J'ai une application rails avec les modèles suivants:Créer nouvel objet avec des relations sans l'id lié
class Product < ActiveRecord::Base
has_many :stores, through: :product_store
attr_accessible :name, :global_uuid
end
class ProductStore < ActiveRecord::Base
attr_accessible :deleted, :product_id, :store_id, :global_uuid
belongs_to :product
belongs_to :store
end
Ce modèle est une API REST d'une application mobile, je crée les objets à distance, sur la périphériques, puis synchroniser avec ce modèle. Comme cela se produit, il peut arriver que je dois créer un ProductStore
avant d'avoir un id
ensemble pour Product
. Je sais que je pourrais regrouper les demandes d'API et trouver une solution de contournement, mais j'ai décidé d'avoir un attribut global_uuid
qui est créé dans l'application mobile et synchronisé.
Ce que je voudrais savoir comment puis-je faire ce code dans mon contrôleur:
def create
@product_store = ProductStore.new(params[:product_store])
...
end
sachez qu'il va recevoir un paramètre product_global_uuid
au lieu d'un paramètre product_id
et avoir remplir correctement la modèle.
Je me dis que je peux passer outre ProductStore#new
mais je ne sais pas s'il y a une ramification lorsque vous faites cela.
me semble bon. Je suis d'accord sur les accesseurs, mais il faut être pragmatique et avoir besoin de les synchroniser correctement, ce qui est plus important sur ce projet. – pgb