尝试重定向错误消息,而不是为nil获取未定义的方法`path':NilClass

时间:2015-02-04 04:48:41

标签: ruby-on-rails

嘿,当用户点击上传按钮并且没有选择要上传的文件时,我收到错误消息。我知道我只需要一个if else语句,但不知道在哪里放或者我的语法是正确的。 这是我的控制器

def import
@samples = Sample.all
Sample.import(params[:file])
redirect_to root_url, notice: "Samples Imported"
authorize @samples
end

这是我的模特......

class Sample < ActiveRecord::Base
belongs_to :user

def self.import(file)
    CSV.foreach(file.path, headers: true) do |row|
        Sample.create! row.to_hash
    end
  end
end

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您可以在控制器中查看if params[:file].present?

答案 1 :(得分:0)

如果您使用Paperclip将此行添加到附件模型中 class Attachment&lt;的ActiveRecord ::基

validates_attachment_presence :attach, :message => "No file selected"