Ruby on rails 活动管理员更改csv的标题以及向输出中添加文本

Ruby on rails 活动管理员更改csv的标题以及向输出中添加文本,ruby-on-rails,ruby,csv,ruby-on-rails-4,activeadmin,Ruby On Rails,Ruby,Csv,Ruby On Rails 4,Activeadmin,您好,我希望能够更改csv输出的标题。因此,我想将其改为例如“client name”,而不是:name=“name”。不重命名变量。我怎样才能做到这一点 比如说 column "client name", :name - 此外,我想将cf添加到id的输出中,这样它将显示例如“3CF”而不是3。像这样的东西,但工作 column(:id) + "CF" - 完整代码。为了订单 ActiveAdmin.register Order do scope :not_completed_o

您好,我希望能够更改csv输出的标题。因此,我想将其改为例如“client name”,而不是:name=“name”。不重命名变量。我怎样才能做到这一点

比如说

column "client name", :name
-

此外,我想将cf添加到id的输出中,这样它将显示例如“3CF”而不是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块中,您可以定义自己的自定义标题,如下所示:

column "client name" do |order|
  order.name
end
column("client name"){ |order| order.name }
自定义值也一样:

column "ID" do |user|
  "#{user.id} CF" 
end
或者,如果您更喜欢单行代码,您可以将上面的代码更改为如下内容:

column "client name" do |order|
  order.name
end
column("client name"){ |order| order.name }

类似的代码适用于自定义值。

在csv块中,您可以定义自己的自定义标题,如下所示:

column "client name" do |order|
  order.name
end
column("client name"){ |order| order.name }
自定义值也一样:

column "ID" do |user|
  "#{user.id} CF" 
end
或者,如果您更喜欢单行代码,您可以将上面的代码更改为如下内容:

column "client name" do |order|
  order.name
end
column("client name"){ |order| order.name }

类似代码适用于自定义值。

通过列参数
人性化\u name:false解决。

csv force_quotes: true do
    column :a_b_c_d, humanize_name: false
end

使用列参数
人性化\u name:false解决

csv force_quotes: true do
    column :a_b_c_d, humanize_name: false
end

谢谢你的帮助。一个小小的澄清——列名变得人性化了。因此,如果您想保留大小写,例如一个all caps列标题,那么请使用类似列(“客户端名称”,humanize_NAME:false){| order | order.NAME}的内容,谢谢您的帮助。一个小的澄清-列名变得人性化。所以,如果您想保留大小写,比如一个all caps列标题,那么可以使用类似列(“客户机名称”,humanize_NAME:false){| order | order.NAME}