Permalink
Browse files

Merge pull request #19093 from remomueller/fix-actionmailer-preview-l…

…inks-on-subdirectories

Mailer preview now uses `url_for` to fix links to emails for apps runnin...
  • Loading branch information...
rafaelfranca committed May 3, 2015
1 parent cddb156 commit 3e9b34eeb47e54bd099228ac462fb3f4abfa3034
@@ -1,3 +1,8 @@
* Mailer preview now uses `url_for` to fix links to emails for apps running on
a subdirectory.
*Remo Mueller*
* Mailer previews no longer crash when the `mail` method wasn't called
(`NullMail`).
@@ -1,8 +1,8 @@
<% @previews.each do |preview| %>
<h3><%= link_to preview.preview_name.titleize, "/rails/mailers/#{preview.preview_name}" %></h3>
<h3><%= link_to preview.preview_name.titleize, url_for(controller: "rails/mailers", action: "preview", path: preview.preview_name) %></h3>
<ul>
<% preview.emails.each do |email| %>
<li><%= link_to email, "/rails/mailers/#{preview.preview_name}/#{email}" %></li>
<li><%= link_to email, url_for(controller: "rails/mailers", action: "preview", path: "#{preview.preview_name}/#{email}") %></li>
<% end %>
</ul>
<% end %>
@@ -1,6 +1,6 @@
<h3><%= @preview.preview_name.titleize %></h3>
<ul>
<% @preview.emails.each do |email| %>
<li><%= link_to email, "/rails/mailers/#{@preview.preview_name}/#{email}" %></li>
<li><%= link_to email, url_for(controller: "rails/mailers", action: "preview", path: "#{@preview.preview_name}/#{email}") %></li>
<% end %>
</ul>
@@ -429,6 +429,36 @@ def foo
assert_match '<option selected value="?part=text%2Fplain">View as plain-text email</option>', last_response.body
end
test "mailer previews create correct links when loaded on a subdirectory" do
mailer 'notifier', <<-RUBY
class Notifier < ActionMailer::Base
default from: "from@example.com"
def foo
mail to: "to@example.org"
end
end
RUBY
text_template 'notifier/foo', <<-RUBY
Hello, World!
RUBY
mailer_preview 'notifier', <<-RUBY
class NotifierPreview < ActionMailer::Preview
def foo
Notifier.foo
end
end
RUBY
app('development')
get "/rails/mailers", {}, 'SCRIPT_NAME' => '/my_app'
assert_match '<h3><a href="/my_app/rails/mailers/notifier">Notifier</a></h3>', last_response.body
assert_match '<li><a href="/my_app/rails/mailers/notifier/foo">foo</a></li>', last_response.body
end
private
def build_app
super

0 comments on commit 3e9b34e

Please sign in to comment.