ImagesController#import 中的 NoMethodError / Image:Class 的未定义方法 'import'



我有一个错误,而上传.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
  1. 您应该从第一行删除end。3 .把它放在文件的末尾,也就是说,类方法和实例方法应该在类中定义
  2. 方法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

相关内容

  • 没有找到相关文章

最新更新