ImagesController#import 中的 NoMethodError / Image:Class 的未定义方法“导入”
NoMethodError in ImagesController#import / undefined method `import' for Image:Class
我在上传 .csv
文件以及将图片上传到我的网页时出错:
Error NoMethodError in ImagesController#import
undefined method `import' for Image:Class
Model/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
controller/images_controller.rb
def import
Image.import(params[:file])
redirect_to images_path, notice: "excel import successfully"
end
- 您应该从第 1 行中删除
end
。 3 并将其放在文件末尾,即 class 方法和实例方法应在 class here 中定义
- 由于方法
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
我在上传 .csv
文件以及将图片上传到我的网页时出错:
Error NoMethodError in ImagesController#import undefined method `import' for Image:Class
Model/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
controller/images_controller.rb
def import
Image.import(params[:file])
redirect_to images_path, notice: "excel import successfully"
end
- 您应该从第 1 行中删除
end
。 3 并将其放在文件末尾,即 class 方法和实例方法应在 class here 中定义
- 由于方法
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