0

CSV ファイルをインポートし、1 つのモデルの属性を使用して新しいオブジェクト (この場合はリスト) を作成できます。

これをリスティングモデルに入れました

accepts_nested_attributes_for :address 

ここで、address は関連付けられたモデルです (address には多くのリストがあり、listing は address に属します)。

CSVファイルをインポートするときにもアドレスモデルから属性を一括割り当てできると思っていましたが、エラーが発生しました:

Can't mass-assign protected attributes: unit_number 

unit_number は、アドレス モデルの属性の 1 つです (attr にアクセス可能です)。

4

1 に答える 1

4

Listing クラス定義で、インポート メソッドを変更します。

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 に答える