控制器:
class HorsesController < ApplicationController
require 'csv'
def index
@horses = Horse.all
end
def import
Horse.import(params[:file])
redirect_to root_path
end
end
模型:
class Horse < ActiveRecord::Base
attr_accessible :name, :place
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Horse.create! row.to_hash
end
end
end
我有一个CSV文件,其中包含两列数据标题名称和位置。当我尝试导入文件时,出现错误消息:Can't mass-assign protected attributes: place
我似乎接受:name 罚款,但出于某种原因无法使用:place ???
任何帮助表示赞赏
答案 0 :(得分:2)
您的csv文件格式为name, place
而不是name,place
。 place
开头被视为<space>place
而不是place
,这会导致rails抛出该错误。