如何在导出时隐藏Rails Admin CSV选项

时间:2017-12-18 12:31:12

标签: ruby-on-rails ruby export rails-admin

我有一个Ruby on Rails应用程序正在使用我正在使用Rails Admin。我想隐藏导出选项,例如编码到无标题列分隔符。这可能吗?

我试过这个但肯定是错的:

config.actions do
  dashboard                    
  end    
  index                        
  new 
  export do
    options ['encode']
  end
  # show_in_app
  ## With an audit adapter, you can add:
  # history_index
  # history_show
end

2 个答案:

答案 0 :(得分:1)

我担心没有配置可以做到这一点。 您必须覆盖导出视图。您将在gems文件夹中找到它。 将其复制到您的项目中,您将以这种方式找到它:

cd $(bundle show rails_admin)
cat ./app/views/rails_admin/main/export.html.haml 

目标应该是您的项目根路径,然后是相同的路径

./app/views/rails_admin/main/export.html.haml 

您可以以数组的形式找到要隐藏的选项,对于编码,这些选项如下所示:

Encoding.name_list.sort

在该文件的底部,您将看到csv,json,xml选项。编辑你的内心。

答案 1 :(得分:0)

导航to rails admin github page并下载views文件夹。将此文件 /rails_admin/main/export.html.haml 复制到项目的同一目录中。如果没有该目录,请创建一个。 然后评论这些行:

  / %fieldset
  /   %legend
  /     %i.icon-chevron-down
  /     = t('admin.export.options_for', name: 'csv')
  /   .form-group.control-group
  /     - guessed_encoding = @abstract_model.encoding
  /     %label.col-sm-2.control-label{for: "csv_options_encoding_to"}= t('admin.export.csv.encoding_to')
  /     .col-sm-10.controls
  /       -# from http://books.google.com/support/partner/bin/answer.py?answer=30990 :
  /       = select_tag 'csv_options[encoding_to]', options_for_select(Encoding.name_list.sort), include_blank: true, placeholder: t('admin.misc.search'), :'data-enumeration' => true
  /       %p.help-block= t('admin.export.csv.encoding_to_help', name: guessed_encoding)

  /   .form-group.control-group
  /     %label.col-sm-2.control-label{for: "csv_options_skip_header"}= t('admin.export.csv.skip_header')
  /     .col-sm-10.controls
  /       .checkbox
  /         %label{style: 'display: block;' }
  /           = check_box_tag 'csv_options[skip_header]', 'true'
  /       %p.help-block= t('admin.export.csv.skip_header_help')

  /   .form-group.control-group
  /     %label.col-sm-2.control-label{for: "csv_options_generator_col_sep"}= t('admin.export.csv.col_sep')
  /     .col-sm-10.controls
  /       = select_tag 'csv_options[generator][col_sep]', options_for_select({ '' => t('admin.export.csv.default_col_sep'), "<comma> ','" => ',', "<semicolon> ';'" => ';', '<tabs>' => "'\t'" }), placeholder: t('admin.misc.search'), :'data-enumeration' => true
  /       %p.help-block= t('admin.export.csv.col_sep_help', value: t('admin.export.csv.default_col_sep'))

现在将删除导出选项!