Rieles: muchos-a-muchos relación con los 3 modelos
-
27-09-2019 - |
Pregunta
Tengo una situación en la que tengo Productos , Proveedores , ShoppingLists y Las valoraciones .
A lista_de_la_compra consistir en muchos valuaciones cada uno con un producto , una específica proveedor y un precio .
Mis modelos son los siguientes:
class Product < ActiveRecord::Base
has_many :valuations
has_many :shopping_lists, :through => :valuations
end
class Supplier < ActiveRecord::Base
has_many :valuations
has_many :shopping_lists, :through => :valuations
end
class ShoppingList < ActiveRecord::Base
has_many :valuations
has_many :products, :through => :valuations
has_many :suppliers, :through => :valuations
end
class Valuation < ActiveRecord::Base
belongs_to :product
belongs_to :supplier
belongs_to :shopping_list
end
Mi routes.rb es:
map.resources :shopping_lists do |shopping_list|
shopping_list.resources :valuations
end
map.resources :product
map.resources :supplier
Me pregunto si esto podría ser la mejor solución , de todos modos lo que quiero es que el usuario puede crear tantas listas como lo deseen, cada uno con varias valoraciones.
La primera vez que se crea una lista de compras su también llena de una valoración al menos . A continuación, el usuario puede añadir / quitan las valoraciones a / desde el lista_de_la_compra.
Me gustaría una solución simple y elegante, sin devoluciones de llamada de Ajax.
¿Cuál es la mejor manera de hacer esto, de los Controladores / views / rutas perspectivas? O debería Completley cambiar mi esquema?
Gracias!
Solución
Sólo encontró dos excelentes recursos de Ryan Bates:
http://asciicasts.com/episodes/196-nested -Modelo-form-parte-1
http://asciicasts.com/episodes/197-nested -Modelo-form-parte-2
Vamos a ver si es que hacer el trabajo!
// ACTUALIZACIÓN: funcionó muy bien