Search code examples
ruby-on-railsajaxcorsxmlhttprequestwebrick

How to set access-control-allow-origin in webrick under rails?


I have written a small rails app to serve up content to another site via xmlhttprequests that will be operating from another domain (it will not be possible to get them running on the same server). I understand I will need to set access-control-allow-origin on my rails server to allow the requesting web page to access this material.

It seems fairly well documented how to do this with Apache and this is probably the server I will use once I deploy the site. While I am developing though I hope to just use webrick as I am used to doing with rails. Is there a way of configuring webrick to provide the appropriate http header within rails?


Solution

  • If you're on Rails 2 just add this to your application contoller.

    before_filter :set_access
    
    def set_access
      @response.headers["Access-Control-Allow-Origin"] = "*"
    end
    

    Obviously changing "*" to something a little less open would be a good idea.