-
Notifications
You must be signed in to change notification settings - Fork 7
Howto : add buttons to download data as xml, json or csv
giniedp edited this page Jul 4, 2012
·
5 revisions
First add buttons in the view
- content_for :fancygrid_users_buttons do
%li= link_to "XML", "#", :onclick => "Fancygrid.users.download('xml'); return false;"
%li= link_to "JSON", "#", :onclick => "Fancygrid.users.download('json'); return false;"
%li= link_to "CSV", "#", :onclick => "Fancygrid.users.download('csv'); return false;"
= fancygrid :usersNext, in the controller you have to modify the fancygrid setup to not to paginate the data on the xml, json or csv requests, and add format renderers.
def index
grid = fancygrid_for :users do |g|
g.attributes :email, :first_name, :last_name
g.ajax_url = users_path
# paginate only on html request
g.paginate = request.format.html?
g.find
end
respond_to do |format|
format.html { render }
format.json { render :json => projects_grid.dump_records }
format.xml { render :xml => projects_grid.dump_records }
format.csv { # TODO: add code to convert records to csv }
end
end