活动管理员更改 headers 的 csv 以及向输出添加文本
Active admin change headers for the csv as well as add text to the output
您好,我希望能够更改 headers 用于 csv 输出的内容。因此,我想将其改为 "client name",而不是 :name = "name"。无需重命名变量。我该怎么做。
例如。
column "client name", :name
-
此外,我想将 cf 添加到 id 的输出中,这样它就会显示例如“3 cf”而不是 3。类似这样但有效。
column(:id) + "CF"
-
完整代码。对于订单。
ActiveAdmin.register Order do
scope :not_completed_orders
menu priority: 3
batch_action :manifest do |ids|
redirect_to "/admin/orders.csv?q[id_in][]=" + ids.join("&q[id_in][]=")
end
index do
selectable_column
column :id
column :user
column :name
column :delivery_name
column :complete
column :delivery_address1
column :service
column :insurance
actions
end
csv do
column :created_at
column :name
column :delivery_name
column(:id)
end
permit_params do
permitted = [:email ,:country ,:city ,:postcode, :address_line_2, :address_line_1 ,:user_id, :name, :delivery_name, :company_name, :delivery_address1, :delivery_address2, :delivery_address3, :delivery_city, :delivery_postcode, :delivery_country, :phone, :package_contents, :description_content, :restricted_items, :terms_conditions, :insurance, :contents_value, :cf_reference, :reference_number, :complete]
permitted
end
end
# completed_at
非常感谢任何帮助。谢谢
在您的 csv 块中,您可以像这样定义自己的自定义 header:
column "client name" do |order|
order.name
end
自定义值相同:
column "ID" do |user|
"#{user.id} CF"
end
或者如果您更喜欢单行,您可以将上面的代码更改为如下所示:
column("client name"){ |order| order.name }
类似的代码适用于自定义值。
使用列参数解决humanize_name: false
csv force_quotes: true do
column :a_b_c_d, humanize_name: false
end
您好,我希望能够更改 headers 用于 csv 输出的内容。因此,我想将其改为 "client name",而不是 :name = "name"。无需重命名变量。我该怎么做。
例如。
column "client name", :name
-
此外,我想将 cf 添加到 id 的输出中,这样它就会显示例如“3 cf”而不是 3。类似这样但有效。
column(:id) + "CF"
- 完整代码。对于订单。
ActiveAdmin.register Order do
scope :not_completed_orders
menu priority: 3
batch_action :manifest do |ids|
redirect_to "/admin/orders.csv?q[id_in][]=" + ids.join("&q[id_in][]=")
end
index do
selectable_column
column :id
column :user
column :name
column :delivery_name
column :complete
column :delivery_address1
column :service
column :insurance
actions
end
csv do
column :created_at
column :name
column :delivery_name
column(:id)
end
permit_params do
permitted = [:email ,:country ,:city ,:postcode, :address_line_2, :address_line_1 ,:user_id, :name, :delivery_name, :company_name, :delivery_address1, :delivery_address2, :delivery_address3, :delivery_city, :delivery_postcode, :delivery_country, :phone, :package_contents, :description_content, :restricted_items, :terms_conditions, :insurance, :contents_value, :cf_reference, :reference_number, :complete]
permitted
end
end
# completed_at
非常感谢任何帮助。谢谢
在您的 csv 块中,您可以像这样定义自己的自定义 header:
column "client name" do |order|
order.name
end
自定义值相同:
column "ID" do |user|
"#{user.id} CF"
end
或者如果您更喜欢单行,您可以将上面的代码更改为如下所示:
column("client name"){ |order| order.name }
类似的代码适用于自定义值。
使用列参数解决humanize_name: false
csv force_quotes: true do
column :a_b_c_d, humanize_name: false
end