質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

582閲覧

Railsチュートリアル第11章 メールプレビューエラー(メソッド未定義エラー)

jasonwick

総合スコア12

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/04/29 00:55

編集2020/04/30 02:21

発生している問題

Railsチュートリアル11章の11.2.2 送信メールのプレビュー にてチュートリアル通りに記述し、プレビュー画面にアクセスしたのですが何度やってもメソッド未定義エラーになります。
イメージ説明

該当のソースコード

config/environments/development.rb

Rails.application.configure do ・ ・ ・ config.action_mailer.raise_delivery_errors = true config.action_mailer.delivery_method = :test host = '6de6b716239a4dcabaa474528e17a84c.vfs.cloud9.ap-northeast-1.amazonaws.com' # クラウドIDE config.action_mailer.default_url_options = { host: host, protocol: 'https' } ・ ・ ・ end

test/mailers/previews/user_mailer_preview.rb

# Preview all emails at http://localhost:3000/rails/mailers/user_mailer 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   # Preview this email at http://localhost:3000/rails/mailers/user_mailer/password_reset def password_reset UserMailer.password_reset end end

試したこと

account_activationメソッドが未定義だと言われているので、コピペし直したり手動で打ち込んだり色々試しましたが改善されませんでした。

どこか別の所に問題があるのでしょうか?
皆様の知恵をお貸し頂ければと思います。

宜しくお願いします。

追記 ~account_activationの呼び出し箇所について~

知識不足によりあっているか分かりませんがおそらくこの部分だと思います。

app/mailers/user_mailer.rb

class UserMailer < ApplicationMailer def account_activation(user) @user = user mail to: user.email, subject: "Account activation" end def password_reset @greeting = "Hi" mail to: "to@example.org" end end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ちなみに、

UserMailerPreview.account_activation

はどこで呼び出しているのですか?

そこでの呼び出し方が違うんじゃないかなーと思ってますので、呼び出し部分の詳細いただけると
答えやすいかと

投稿2020/04/29 02:23

hiyashikyuri

総合スコア388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問