views:

189

answers:

1

Hey!

I would like to create a custom render as specified in title.

For instance, I have my controller:

class MyController < ApplicationController
  def index
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @objs }
    end
  end
end

, but I would like something like this:

class MyController < ApplicationController
  def index
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @objs }
      format.my_format  { render :my_format => @objs }
    end
  end
end

Is it possible? What are the steps I need to make it work?

Thanks in advance!

UPDATE

I want something like in here. So I replaced the @objs with a method but it didn't work either (the method wasn't called).

Obs: I register the mime type at config/initializers/mime_types.rb.

+3  A: 

From railsapi.com:

"If you need to use a MIME type which isn’t supported by default, you can register your own handlers in environment.rb as follows."

  Mime::Type.register "image/jpg", :jpg
j.
Suppose we already have a mime type registered.Taking your answer as an example, we could want to serve a dynamically generated jpg image with this format option in MyController: "format.jpg { render :jpg => @shapes }". Is it possible? How?
Rafael