我正在阅读Ruby on Rails教程,无法让我的UserMailer预览工作。
我得到的错误是当我去服务器时,它说Mailer preview 'user_mailer/account_activation' not found
。
我正在逐步遵循代码,但它无法正常工作。这就是我所拥有的。
应用程序/邮寄者/ user_mailer.rb class UserMailer< ApplicationMailer
def account_activation(user)
@user = user
mail to: user.email, subject: "Account activation"
end
测试/邮寄者/预览/ user_mailer_previews
class UserMailerPreview < ActionMailer::Preview
# Preview this email at
# http://localhost:3000/rails/mailers/user_mailer/account_activation
def account_activation
user = User.first
user.activation_token = User.new_token
UserMailer.account_activation(user)
end
配置/环境/ development.rb
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :test
host = 'localhost:3000'
config.action_mailer.default_url_options = { host: host, protocol: 'https' }
我已阅读并重新阅读网站https://www.railstutorial.org/book/account_activation上的代码并尝试更改内容但没有运气
提前谢谢!
编辑:我实际上已经有了一个视图,抱歉应该早点包含它。
应用程序/视图/ user_mailer文件/ account_activation.html.erb
<h1>Sample App</h1>
<p>Hi <%= @user.name %>,</p>
<p>
Welcome to the Sample App! Click on the link below to activate your account:
</p>
<%= link_to "Activate", edit_account_activation_url(@user.activation_token,
email: @user.email) %>
答案 0 :(得分:1)
你想去哪个网址?我有同样的问题,那是因为我要离开&#34; rails&#34;网址的一部分(因为我认为该部分特定于教程作者的特定开发环境(它不是))。
尝试转到http://localhost:3000/rails/mailers,其中应列出预览的链接。
答案 1 :(得分:0)
您还需要在app/views/user_mailer
下为邮件程序创建至少一个view template。
最简单的说,这可以是一个名为account_activation.text.erb
的文件,其中包含一些静态文本,这些文本将成为电子邮件的正文。