提交 f5132c19 编写于 作者: R Remo Mueller

Mailer preview now uses `url_for` to fix links to emails for apps running on a...

Mailer preview now uses `url_for` to fix links to emails for apps running on a subdirectory, closes #19092.
上级 8fd46330
* 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`).
......
<% @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 %>
<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>
......@@ -454,6 +454,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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册