我在我的控制器中调用导入文件的导入方法。如果在导入中它尝试保存对象并且未通过模型验证,我如何将验证错误消息返回到project_data_path
(或者返回到索引视图的其他方式)?
我在控制器中尝试了一个if语句,但它只是给了我一个验证失败错误
控制器
def import
if Datum.import(params[:file],params[:project_id])
redirect_to project_data_path, notice: "data imported."
else
redirect_to project_data_path #if import fails, need to send errors
end
end
模型
def self.import(file, proj_id)
##.. working logic that imports file into datum..##
## below works fine if there are no validation errors
datum.save! ##model validation error happens here
end
end
答案 0 :(得分:0)
save!
会引发异常,而save
只会返回true
或false
。只需删除感叹号即可。