0

我可以使用单个模型的属性导入 CSV 文件并创建一个新对象(在本例中为列表)。

我把它放在列表模型中

accepts_nested_attributes_for :address 

其中地址是一个关联模型(地址有很多列表,列表属于地址)。

我以为在导入 CSV 文件时我也可以从地址模型中批量分配属性,但出现错误:

Can't mass-assign protected attributes: unit_number 

其中地址模型中的属性之一中的 unit_number (它在 attr 中可访问)。

4

1 回答 1

4

在您的清单类定义中更改您的导入方法:

def self.import(file)
    CSV.foreach(file.path, headers: true) do |row|
      Listing.create!( :price => row[0], :status => row[1], 
                       :beds => row[2], :baths => row[3], 
                       :address_attributes => {:unit_number => row[4]} ) 
    end
end
于 2013-03-01T00:11:39.093 回答