Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 使用';activeadmin axlsx';宝石_Ruby On Rails 4_Activeadmin_Axlsx - Fatal编程技术网

Ruby on rails 4 使用';activeadmin axlsx';宝石

Ruby on rails 4 使用';activeadmin axlsx';宝石,ruby-on-rails-4,activeadmin,axlsx,Ruby On Rails 4,Activeadmin,Axlsx,我正在使用Rails 4的应用程序中使用activeadmingem。我需要使用activeadmin axlsxgem下载excel。 我能够在excel工作表中获取数据库中存在的特定模型的所有列作为其列。但是,我想添加一个数据库中不存在的列 这是我迄今为止一直在尝试的 column('start_date') do |date| date.start_date end 这里的开始日期是我数据库中的一个属性,因此我在excel中得到该列 现在,当我尝试添加另一列EndDate(它不

我正在使用Rails 4的应用程序中使用activeadmingem。我需要使用activeadmin axlsxgem下载excel。 我能够在excel工作表中获取数据库中存在的特定模型的所有列作为其列。但是,我想添加一个数据库中不存在的列

这是我迄今为止一直在尝试的

 column('start_date') do |date|
   date.start_date
 end
这里的开始日期是我数据库中的一个属性,因此我在excel中得到该列

现在,当我尝试添加另一列EndDate(它不是db中的属性)时,我得到一个空白列

我还尝试了下面的片段,指的是

这将在excel中提供一个空白列

有人能帮我做到这一点吗?或者推荐任何其他可以与activeadmin gem一起使用的gem


非常感谢

我想你可以定义一个,比如开始日期。您是否尝试过:

column(:end_date) do |resource|
  resource.end_time.strftime('%Y-%m-%d')
end

解决方案是将数据库中不存在的属性添加为相应模型中的属性访问器

对于上面的例子

end_date不是表中的一个属性,因此在模型(比如Employee)中添加此属性

class Employee < ActiveRecord::Base

attr_acessor :end_date

end

这将为您提供所需的值。

Yes@baxang我提供了,因为end_date不是db中现有的属性,它为我提供了一个空白列。因此,解决方法是在模型中将结束日期定义为属性访问器。这对我有用:)
class Employee < ActiveRecord::Base

attr_acessor :end_date

end
ActiveAdmin.register User do 

  xlsx do 
    column('end_date') do |emp|
      emp.end_time.strftime("%Y-%m-%d")
    end
  end
end