I've been reading similar questions, but many of the answers are outdated or not clear enough for me.
I'd like to be able to just do something like (in a controller action):
respond_to do |format|
format.html
format.csv
end
I know I'd then need a view such as action.csv.erb
So my questions are:
1) What do I need to configure in rails to allow this to happen in general.
2) How should I setup the CSV view to display some basic fields from a model?
UPDATE:
So I've tried to go the route of comma, I installed and vendored the gem.
Then according to the read me, I threw this into my model (customized to my needs):
comma do
user_id 'User'
created_at 'Date'
name 'Name'
end
I then threw this in the control for the index action (according to the readme):
format.csv { render :csv => MyModel.limited(50) }
Then when accessing the index (not in CSV format) I receive the following ActionController Exception error:
undefined method `comma' for
So then I googled that, and I read that I should put require 'comma' in my model.
After doing that, I refreshed (my local index page), and the error changed to:
no such file to load -- comma
So at this point I decided it must not be finding the comma files obviously. So I copied the files from the vendored gem folder of comma, from comma's lib folder, to the rails lib folder. I then refreshed the page and landed on this error:
uninitialized constant Error
Then I pretty much gave up.
The errors from the trace were:
/Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in
load_missing_constant' /Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in
const_missing' /Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing'
Other notes, I have already installed FasterCSV
Hope thats enough info :)