Rails: generate a full URL in an ActionMailer view
actionmailer, ruby-on-rails
Solution
To solve the problem to pass a host for generating URLs in ActionMailer, check out this plugin and the reason why I wrote it.
To solve the first issue, use named routes when applicable. Instead of
<%= url_for :controller => 'login', :action => 'verify', :guid => @user.new_user.guid, :only_path => false, :host => 'http://plantality.com' %>
assuming the route is called `login`, use
<%= login_url(:guid => @user.new_user.guid) %>
Note, I'm using `login_url`, not `login_path`.
Problem
I'm using ActionMailer to send a sign up confirmation email. The email needs to contain a link back to the site to verify the user, but I can't persuade Rails to generate a full URL (including the domain etc). I'm using: ``` <%= url_for :controller => 'login', :action => 'verify', :guid => @user.new_user.guid, :only_path => false, :host => 'http://plantality.com' %> ``` in my view Part b: In development mode Rails gripes if I don't specify the host explicilty in the link above. But I don't want to do this in production. Any solutions?