Encapsulates the notion of a mime type. Can be used at render time, for example, with:
class PostsController < ActionController::Base def show @post = Post.find(params[:id]) respond_to do |format| format.html format.ics { render :text => post.to_ics, :mime_type => Mime::Type["text/calendar"] } format.xml { render :xml => @people.to_xml } end end end
Constants
TRAILING_STAR_REGEXP = /(text|application)\/\*/
Attributes
[R] | symbol |
Register or
log in
to add new notes.
rob-twf -
March 11, 2009 - (>= v2.1.0)
2 thanks
Can also be used to conditionally apply filters
For example:
# Skip login filter if the request is for CSS before_filter :require_login, :unless => lambda { |controller| controller.request.format.css? }
Calling request.format on the controller returns a Mime::Type object, which can then be queried for mime types, other examples:
controller.request.format.html? controller.request.format.json?
schmidt -
November 3, 2009
0 thanks
Setting a custom Content type
The given example seems to be broken. The :mime_type option as well as the [] access on the Mime::Type class are both not working.
The following code allows the custom setting of content types as intended by the original example:
class PostsController < ActionController::Base def show @post = Post.find(params[:id]) respond_to do |format| format.html format.ics { render :text => post.to_ics, :content_type => Mime::Type.lookup("text/calendar") } format.xml { render :xml => @people.to_xml } end end end