Ruby on rails 4 使用';activeadmin axlsx';宝石
我正在使用Rails 4的应用程序中使用activeadmingem。我需要使用activeadmin axlsxgem下载excel。 我能够在excel工作表中获取数据库中存在的特定模型的所有列作为其列。但是,我想添加一个数据库中不存在的列 这是我迄今为止一直在尝试的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(它不
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