2016-09-28 28 views
0

我正在閱讀Ruby on Rails教程,並且無法讓UserMailer預覽工作。UserMailer預覽問題Ruby on Rails

我正的錯誤是,當我去到服務器,它說Mailer preview 'user_mailer/account_activation' not found

我按照代碼一步一步,但它不工作。這是我的。

應用程序/郵寄者/ user_mailer.rb 類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

您還需要創建app/views/user_mailer下郵包至少一個view template

簡單地說,這可能是一個叫account_activation.text.erb含有一些靜態文本將成爲電子郵件的正文文件。

+0

我其實已經有了一個觀點。我發佈了html版本,但也有一個文本 – Sam

1

你想要去哪個網址?我有這個相同的問題,這是因爲我離開了URL的「rails」部分(因爲我認爲這部分是特定於教程作者特定的開發環境(不是))。

嘗試將http://localhost:3000/rails/mailers,這應該列出鏈接到您的預覽。