Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Sets :host for url_for calls within ActionMailer. A repackaged and renamed version of http://github.com/luke0x/retardase_inhibitor
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
test
.document
.gitignore
LICENSE
README.rdoc
Rakefile
VERSION
actionmailer_host_autoset.gemspec

README.rdoc

actionmailer_host_autoset

It is difficult to generate URLs with ActionMailer. Although you can generate absolute paths from your routes, you usually need to generate full URLs for the links in the email to be useful to your recipients.

This plugin sets the default_url_options for host, port and protocol by providing an around_filter which will grab the values from the request object. In the cases when the request object is not available, for example, when running tests, default values are set instead.

This is basically a repackaging of retardase_inhibitor (github.com/luke0x/retardase_inhibitor), with more descriptive name and a gemspec that will actually build on github (yay for jeweler!).

Installation

# setup gemcutter, if you haven't already:
gem install gemcutter
gem tumble

gem install actioncontroller_host_autoset

Or, in environment.rb:

config.gem 'actionmailer_host_autoset', :source => 'http://gems.gemcutter.org'

Then:

rake gems:install

Usage

Add the around_filter to the ApplicationController to set the default_url_options for every request.

class ApplicationController < ActionController::Base
  around_filter :actionmailer_host_autoset
end

I prefer to add it just around the actions when I know an Observer will kick off an ActionMailer notifier. For example, I have an the filter kick off in my SessionsController#create when I process a user signup.

class SessionsController < ActionController::Base
  around_filter :actionmailer_host_autoset, :only => :create
  def create
    ...
  end
end

Copyright

Copyright © 2007 Nick Kallen, 2009 Tobias Crawley. See LICENSE for details.

Something went wrong with that request. Please try again.