-1

在给定的代码中,

class Supplier < ActiveRecord::Base  
  has_one :criteria, foreign_key: "crt_sup_id", :autosave => true   
  self.primary_key = 'sup_id'  
end  

class Criteria < ActiveRecord::Base  
  belongs_to :supplier, foreign_key: "crt_sup_id"  
  self.primary_key = 'crt_id'  
  self.table_name = 'criterias'  
end  

提交表单时自动保存不起作用。创建供应商记录但不创建标准。

表格代码

    class SupplierForm < Netzke::Basepack::Form
      def configure(c)
        c.model = 'Supplier'
        super
        c.items = [
          {field_label: "Name", name: :bname},
          {field_label: "Detail", name: :detail},
          {
            layout: :hbox, border: false, defaults: {border: false}, items: [
            {
              flex: 1,
              layout: :anchor,
              defaults: {anchor: "-8"},
              items: [
                {field_label: "Value 1", name: :criteria__val_one, xtype: :checkbox, nested_attribute: true},
                {field_label: "Value 2", name: :criteria__val_two, xtype: :checkbox, nested_attribute: true}
                ]
            }
            ]
          }
        ]
      end
    end  

控制器代码

def index
end  
4

1 回答 1

0

在 Netzke 作者的帮助下解决。将 criteria__val_one 替换为 criteria_val_one,将 criteria__val_two 替换为 criteria_val_two。在模型类中创建虚拟属性。现在表单中输入的所有值都可以通过这些虚拟属性访问并且可以保存。归功于 Max Gorin 。感谢伟大的工作(Netzke)

于 2013-05-28T05:28:29.810 回答