0

だからここに事があります:

「Productos」と「Ventas」を含む Rails アプリがあります。両方のリソースのテーブルに同じ属性があり、ventas にはもう 1 つ (数量) があります... モデルは次のようになります。

#Producto Model

class Producto < ActiveRecord::Base
    has_and_belongs_to_many :categorias, :join_table => :categoria_productos
  attr_accessible :color, :existencia, :nombre, :precio, :talla, :uniclave, :categoria_ids 

#Venta Model

class Venta < ActiveRecord::Base
  attr_accessible :cantidad, :color, :nombre, :precio, :talla, :uniclave, :producto_ids
    has_many :productos
end

管理インターフェイスに ActiveAdmin を使用しており、/ admin/venta.rbは次のようになります。

ActiveAdmin.register Venta do

   form do |f|
    f.inputs "Registrar Venta" do
            f.input :cantidad
      f.input :productos, :as => :check_boxes
    end
    f.buttons
  end

end

その結果、すべての PRODUCTOS が「新しい venta」フォームで表示され、それらを選択できますが、実際に新しい Venta を作成すると、「venta」のパラメーターは、選択した「producto」のものではなく、空に保存されます...

どうすればこれを修正できますか?? 選択した「producto」のすべてのパラメーターを、新しく作成した「venta」フィールドで使用したいのですが、それらは同じ属性を共有しているためです (実際には両方のモデルが同じ属性で作成されています)。

それで、アイデア?;)

4

1 に答える 1

0

:categoria_idsand で: producto_idsある必要があります:categoria_idorモデル間の動作には を:producto_id使用する必要があります:foreign_key

于 2012-09-03T11:53:30.443 に答える