Pregunta

Cualquier mejores prácticas para la siguiente:?

Tengo modelo del fabricante que has_many Inventario

En mi nueva forma de inventario Quiero un campo que se asigna a Manufacturer.name modo que cuando uno somete el nuevo formulario de inventario de la aplicación:

  • búsquedas de un fabricante con el 'nombre' de la forma
    • Si existe entonces asignar la identificación a @ inventory.manufacturer_id y ahorrar @inventory
    • No se si lo hace existir a continuación, crear el fabricante con el 'nombre' de la forma, asignar el ID de @ inventory.manufacturer_id y guardar
    • tiene validaciones de trabajo en el nuevo formulario de inventario
      • tal que, si la forma del Inventario falla la validación en un campo que no sea 'nombre'
        • el campo 'nombre' se vuelve a llenar con lo que el usuario ha introducido (pero un nuevo fabricante no se crea menos que la misma pasa la validación)
¿Fue útil?

Solución

Usted puede tratar de esta manera:

class Inventory < ActiveRecord::Base

  ...

  belongs_to :manufacturer

  ...

  def manufacturer_name
    manufacturer && manufacturer.name
  end

  def manufacturer_name=(value)
    self.manufacturer = Manufacturer.find_by_name(value)
    self.manufacturer ||= Manufacturer.new(:name => value)
  end

  ...

end

En este caso, deberá campo de texto manufacturer_name de salida en forma de inventario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top