Getting content-disposition in the HTTP response headers


#1

Hi,

I am quite new to Ruby and Rails, although I have cracked most of my
puzzles by googling and trying I just can’t get this one to get going
for me.

Here is my problem:

I am trying to cough up a nice text/csv file from my browser and would
like to set this:

Content-type: text/csv
Content-disposition: attachment; filename=“the_file.csv”

in my HTTP response header, but so far I haven’t found any ‘‘tricks’’
to achieve the ‘Content-disposition’ part.

Any help would be dearly appreciated.

Kind regards,
Hartog.


#2

in

class ApplicationController < ActionController::Base
before_filter :set_headers

private
def set_headers
@headers[“Content-Type”] = “text/csv”
@headers[“Content-disposition”] = ‘attachment;
filename=“the_file.csv”’
end
end

very easy :slight_smile:


#3

I have a problem that may be resolved with this, if I understand it
correctly. I have one controller/view that keeps rendering as text/
plain … that’s how the headers come back from the server. My
content type is set correctly in the header in my layout file.

Can I do something similar in my specific controller to force it to
render as text/html instead of text/plain?

Thanks

Zeff


#4

On Wed, Feb 28, 2007 at 06:36:34AM -0800, S2 wrote:

like to set this:

class ApplicationController < ActionController::Base
before_filter :set_headers

private
def set_headers
@headers[“Content-Type”] = “text/csv”
@headers[“Content-disposition”] = ‘attachment;
filename=“the_file.csv”’
end
end

Thank you!

very easy :slight_smile:

Once you how, yes indeed. :->

I do however think that render() (from: ApplicationController::Base)
should allow for a ‘:disposition’ option as well.

Where should I go for such a feature request?

Grtz,
Hartog


#5

hartog wrote:

Content-type: text/csv
Content-disposition: attachment; filename=“the_file.csv”

http://www.rubyinside.com/railstips/tag/send_file


Phlip
http://www.greencheese.us/ZeekLand <-- NOT a blog!!!


#6

On 2/28/07, Hartog C. de Mik removed_email_address@domain.invalid wrote:

very easy :slight_smile:

Once you how, yes indeed. :->

I do however think that render() (from: ApplicationController::Base)
should allow for a ‘:disposition’ option as well.

send_data the_csv_data, :filename => ‘data.csv’, :type => ‘text/csv’

http://api.rubyonrails.org/classes/ActionController/Streaming.html#M000092

Where should I go for such a feature request?

Submit requests, bugs, and patches at http://dev.rubyonrails.org/

jeremy