jsv*_*isa 9 email ruby-on-rails
我正在学习使用Railscast#206发送电子邮件.本教程使用Rails 3,但我使用的是Rails 4.
应用程序/邮寄/ user_mailer.rb:class UserMailer < ActionMailer::Base
default from: "ryan@railscast.com"
def registration_confirmation(user)
@user = user
mail(:to => "#{user.name}", :subject => "Registered")
end
end
Run Code Online (Sandbox Code Playgroud)
应用程序/视图/ user_mailer文件/ registration_confirmation.text.rb:
<%= @user.name %>,
Thank you for registering!
Edit profile: <%= edit_user_url(@user) %>
Run Code Online (Sandbox Code Playgroud)
app/views/user_mailer/registration_confirmation.html.rb:
<p><%= @user.name %>,</p>
<p>Thank you for registering!</p>
<p><%= link_to "Edit profile", edit_user_url(@user) %></p>
Run Code Online (Sandbox Code Playgroud)
应用程序/控制器/ users_controller.rb:
class UsersController < ApplicationController
......
def create
@user = User.new(user_params)
if @user.save
sign_in @user
flash[:success] = "Welcome"
UserMailer.registration_confirmation(@user).deliver
redirect_to @user
else
render 'new'
end
end
......
end
Run Code Online (Sandbox Code Playgroud)
当用户注册时,他应该在理论上收到一封电子邮件,但事实证明:
Missing template user_mailer/registration_confirmation with "mailer". Searched in: * "user_mailer"
Run Code Online (Sandbox Code Playgroud)
And*_*nic 12
registration_confirmation.html.rb?视图文件应以erb结尾.
将视图文件名重命名为:
registration_confirmation.html.erb # HTML format
registration_confirmation.text.erb # Plain text format
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7450 次 |
| 最近记录: |