0

控制器:

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 ???

任何帮助表示赞赏

4

1 回答 1

2

您的 csv 文件格式类似于name, place而不是name,place. placeis begin 读取,<space>place而不是placewhich 使 rails 抛出该错误。

于 2013-10-03T12:21:59.757 回答