activeadmin-axlsx icon indicating copy to clipboard operation
activeadmin-axlsx copied to clipboard

Ability to execute controller's view_context methods in column builder block

Open morr opened this issue 11 years ago • 0 comments

Currently Axml::Builder behaviour is not exactly the same as CSVBuilder logic. Axml::Builder does not have access to controller's view_context in column proc, but CSVBuilder does. Let's fix it.

Code example:

xlsx do
  clear_columns
  column :date do |v|
    # HERE! format_date (helper method defined in controller) is not accessible
    format_date v.date
  end
end

csv do
  column :date do |v|
    format_date v.date # but it is accessible here
  end
end

index do
  column :date do |v|
    format_date v.date # and of course here
  end
end

controller do
  helper_method :format_date

  def format_date date
    # some helper method in controller
    case params[:grouping]
      when 'by_day' then date.strftime '%d.%m.%Y'
      when 'by_month' then date.strftime '%B %Y'
    end
  end
end

morr avatar Jan 22 '14 10:01 morr