【发布时间】:2013-07-26 04:46:24
【问题描述】:
我已经在 SO 上搜索了这个答案,但没有找到。我收到此错误:无法批量分配受保护的属性:品牌、详细信息、产品、代码
我正在将文件中的 csv 数据上传到我的 rails db。这是上传页面控制器的导入操作:
def import
Item.import(params[:file])
redirect_to root_url, notice: "Products imported."
end
Item 模型中的 attr_accessible 行:
attr_accessible :brand, :details, :img, :product, :code
我正在使用 Devise,不确定这是否是问题的一部分?我需要在我的用户模型中做些什么来完成这项工作吗?提前致谢。
这是来自 Item 的 self.import 方法:
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Item.create! row.to_hash
end
end
【问题讨论】:
-
Item#import方法在这里很重要。可以发一下出处吗? -
顺便说一句:您可能需要考虑strong parameters gem
-
贴出导入方法,感谢强参数提示。到目前为止它正在工作。
标签: ruby-on-rails ruby mass-assignment