Rails:使用Checkbox传递“params”

时间:2012-09-03 11:02:18

标签: ruby-on-rails activeadmin

所以这就是事情:

我有一个带有“Productos”和“Ventas”的Rails应用程序两个资源在他们的表上具有相同的属性,而ventas有一个(数量)......模型看起来像这样:

#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都以“new venta”形式显示,我可以选择它们,但是当我实际创建一个新的Venta时,“venta”的参数保存为空而不是选择“producto”的...

我该如何解决这个问题?我希望在新创建的“venta”字段中使用所选“producto”的所有参数,因为它们共享相同的属性(两个模型实际上都是使用相同的属性创建的)

那么,想法? ;)

1 个答案:

答案 0 :(得分:0)

:categoria_ids: producto_ids必须为:categoria_id:producto_id或者您必须使用:foreign_key来表达模型之间的行为