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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在导出时隐藏Rails Admin CSV选项相关的知识,希望对你有一定的参考价值。

我有一个Ruby on Rails应用程序,我正在使用Rails Admin。我想隐藏导出选项,如Encode to,No header和Column separator。这可能吗?

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

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
答案

我担心没有配置可以做到这一点。您必须覆盖导出视图。你可以在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选项。编辑你的内心。

另一答案

导航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>' => "'	'" }), 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'))

现在导出选项将被删除!

以上是关于如何在导出时隐藏Rails Admin CSV选项的主要内容,如果未能解决你的问题,请参考以下文章

在rails admin中通过电子邮件过滤导出结果

在 Rails 中将 2 个表导出为 CSV [如何选择特定列?]

如何在数据表的 csv 导出选项中添加公司的自定义页眉或标题和页脚信息?

如何在 yajra 数据表 laravel 8 的 html 中隐藏描述列但在导出 CSV 中显示

ruby 在Rails 4中的ActiveAdmin中导出CSV导出

手机上csv如何改为vcard