class
Mime::Type
v2.3.8 -
Show latest stable
- Superclass: Object
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
Files
- actionpack/lib/action_controller/mime_type.rb
Nested classes and modules
2Notes
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?
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