1

如何使用模型关联导入数据

这是我的情况:

class SampleRequest < ActiveRecord::Base
  has_one :sample_request_text_excerpt
  accepts_nested_attributes_for :sample_request_text_excerpt
end

class SampleRequestTextExcerpt < ActiveRecord::Base
  belongs_to :sample_request
end

在 sample_request 模型中,资产类型字段为 text 和 image ,对于 text 类型不同的 excel sheet 和对于 image 类型不同的 excel sheet , sample_request_text_excerpt 模型中只有某些字段是额外的。

对于单个模型没有问题,而尝试用于关联

此行显示错误:

 sample_request.attributes = row.to_hash

上传文本电子表格时显示错误。

4

1 回答 1

0

当您为sample_request对象设置属性时,您使用的是哈希。在那个散列中有一个键,stock_id当 Rails 尝试为您的sample_request对象设置该属性时,它找不到它。这很可能是因为stock_id您的 sample_request 模型上没有列。

为了解决这个问题,您需要:

1)stock_id从哈希中删除密钥。您可以使用.delete来完成此操作。

2)或者,您可以添加stock_id到您的sample_request模型中。

于 2013-03-18T23:00:16.720 回答