在Rails控制台中,我想用命令和基本功能测试我的邮件发送功能:
UserMailer.send_test_mail(user).deliver_now
但它让我回头
ActionView::Template::Error: undefined method `protect_against_forgery?'
我搜索了这个但是从rails开始我真的不明白我的问题在哪里。
UserMailer类中的 send_test_mail
函数:
def send_test_mail(user)
@user = user
mail(:to => @user.email, :subject => "Test de mail")
end
send_test_mail.erb:
Hello, this is a test
我看到有人说代码可以帮助:
def protect_against_forgery?
false
end
但我不知道应该在哪里插入
更新:发现错误:我的app / views / layout / mailer.html.erb中有一些代码导致生成此错误:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
如果有人能解释这与我的错误之间的问题,我将不胜感激:)