我有一个错误,而上传.csv
文件,也作为图像上传到我的网页:
imagescontroller# import中出现NoMethodError错误未定义的方法' import'为图像:类
模型/image.rb
class Image < ApplicationRecord
has_one_attached :avatar
end
def self.import
CSV.foreach(file.path, headers: true) do |row|
Image.create! row.to_hash
end
end
控制器/images_controller.rb
def import
Image.import(params[:file])
redirect_to images_path, notice: "excel import successfully"
end
- 您应该从第一行删除
end
。3 .把它放在文件的末尾,也就是说,类方法和实例方法应该在类中定义 - 方法
import
接受参数,定义为import(arg)
下面的代码片段可以帮助您更好地理解
class Image < ApplicationRecord
has_one_attached :avatar
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Image.create! ... # required attributes
end
end
end