如何为ActiveAdmin文件选择器指定格式?

时间:2018-07-11 01:42:04

标签: ruby-on-rails activeadmin

我有我的ActiveAdmin表单:

  form do |f|
    f.inputs 'Details' do
      f.input :orders_file, as: :file
    end
    actions
  end

我想指定文件选择器仅搜索.xls,.xlsx文件,但似乎找不到方法。

此外,如果未选择文件,如何以一种不会打到控制器的方式使文件成为必需文件?

非常感谢您!

1 个答案:

答案 0 :(得分:1)

您可以使用HTML的accept属性

f.input :orders_file, as: :file, required: true, input_html: {accept: ".xls, .xlsx"}

您还可以像这样在控制器操作中检查文件扩展名是否为xls

if !params[:file].path.split('.').last.to_s.casecmp?('xls')
  flash[:error] = 'Please upload valid xls file'
  redirect_back fallback_location: { action: 'index' }
else
  # write your code 
end