Rendering Inline SVG - Here's how.. But why?

Well, I got rails to render my inline SVG code in an rhtml file (parsed
ERb) in Firefox using the rest pattern. I thought all of this would
without the “after_filter” but for some reason, without it it doesn’t
I have no idea why its needed! Can anyone explain?

Here’s how I got it to work…:

Add the following:
Mime::Type.register “application/xhtml+xml”, :svg

location_controller.rb (Or whatever your restful controller is!)
def index
@locations = Location.find(:all)
respond_to do |format|
format.html # index.rhtml
format.xml { render :xml => @locations.to_xml }
format.svg { render :action => “svg.rhtml”, :layout => false }

also add:

after_filter :set_content_type
def set_content_type
if ( @request.env[‘HTTP_ACCEPT’].match(/application/xhtml+xml/))
@headers[‘Content-Type’] = “application/xhtml+xml; charset=utf-8”

Now create a file called svg.rhml in your views folder and paste the

SVG within XHTML Demo

You can embed SVG into XHTML, provided that your browser natively implements SVG. E.g. Firefox 1.5 supports most of static SVG.

The SVG part starts below

HELLO cher visiteur

The SVG part ended above

Voila! It works… Now why do I need the before filter!

Thanks :stuck_out_tongue_winking_eye:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs