活动管理员导出到 CSV 文件
Active Admin Exporting to CSV file
我正在使用 active admin 在我的 Rails 4.0 应用程序中使用管理功能。我有一个用户 table 列出了
- 编号
- 名字
- 电子邮件
- phone 没有
我也像这样在列表顶部放了一个按钮。
action_item only: :index do
link_to 'Export to CSV', '#'
end
我想在单击此按钮时将用户 ID 名称和电子邮件导出到 csv 文件中。请帮我做这个
只需在管理中添加部分
csv do
column :id
column :name
column :email
end
如果你打开link,你会看到行
column(:author) { |post| post.author.full_name }
它将作者姓名添加到 post csv 文件中,您可以通过这种方式添加您想要的任何字段
下面的代码有效:
collection_action :import_csv, method: :get do
users = User.all.order("id ASC")
csv = CSV.generate( encoding: 'Windows-1251' ) do |csv|
csv << [ "Id", "Name", "Gender", "Email", "Mobile number","Email Verified",
"Mobile Verified", "Language Preference", "Counselling Preference", "Job Role Name",
"Liked", "Disliked", "Favourited", "Shared", "Video Watched"]
users.each do |u|
email_verified = u.is_email_verified ? "Yes" : "No"
mobile_verified = u.is_mobile_verified ? "Yes" : "No"
counselling_preference = u.counselling_preference ? "Yes" : "No"
userarry = [ u.id, u.name, u.gender, u.email, u.mobile_number, email_verified,
mobile_verified, u.language_preference, counselling_preference]
csv << userarry + ["", "","","", "", ""]
end
end
send_data csv.encode('Windows-1251'), type: 'text/csv; charset=windows-1251; header=present', disposition: "attachment; filename=accounting_report.csv"
end
action_item :add do
link_to "Export to CSV", import_csv_admin_users_path, method: :get
end
我正在使用 active admin 在我的 Rails 4.0 应用程序中使用管理功能。我有一个用户 table 列出了
- 编号
- 名字
- 电子邮件
- phone 没有
我也像这样在列表顶部放了一个按钮。
action_item only: :index do
link_to 'Export to CSV', '#'
end
我想在单击此按钮时将用户 ID 名称和电子邮件导出到 csv 文件中。请帮我做这个
只需在管理中添加部分
csv do
column :id
column :name
column :email
end
如果你打开link,你会看到行
column(:author) { |post| post.author.full_name }
它将作者姓名添加到 post csv 文件中,您可以通过这种方式添加您想要的任何字段
下面的代码有效:
collection_action :import_csv, method: :get do
users = User.all.order("id ASC")
csv = CSV.generate( encoding: 'Windows-1251' ) do |csv|
csv << [ "Id", "Name", "Gender", "Email", "Mobile number","Email Verified",
"Mobile Verified", "Language Preference", "Counselling Preference", "Job Role Name",
"Liked", "Disliked", "Favourited", "Shared", "Video Watched"]
users.each do |u|
email_verified = u.is_email_verified ? "Yes" : "No"
mobile_verified = u.is_mobile_verified ? "Yes" : "No"
counselling_preference = u.counselling_preference ? "Yes" : "No"
userarry = [ u.id, u.name, u.gender, u.email, u.mobile_number, email_verified,
mobile_verified, u.language_preference, counselling_preference]
csv << userarry + ["", "","","", "", ""]
end
end
send_data csv.encode('Windows-1251'), type: 'text/csv; charset=windows-1251; header=present', disposition: "attachment; filename=accounting_report.csv"
end
action_item :add do
link_to "Export to CSV", import_csv_admin_users_path, method: :get
end