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

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

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

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

Ruby

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

Ruby on Rails

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

Q&A

解決済

1回答

2336閲覧

何故か引数の数が合わない

Yaiba184

総合スコア122

Ruby on Rails 5

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

Ruby

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

Ruby on Rails

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

0グッド

1クリップ

投稿2018/08/14 11:20

railsチュートリアルの12.2.2をやっていたら、こんなエラーが出ました。

Error: UserMailerTest#test_password_reset: ArgumentError: wrong number of arguments (given 1, expected 0) app/mailers/user_mailer.rb:8:in `password_reset' test/mailers/user_mailer_test.rb:21:in `block in <class:UserMailerTest>'

コードがこちらです。
どこが間違っているのかわかった方、教えていただけると幸いです。もう二、三日試行錯誤しても治らず悩んでいて全く進みません

User_maller.rb: class UserMailer < ApplicationMailer def account_activation(user) @user = user mail to: user.email, subject: "Account activation" end def password_reset @user = user mail to: user.email, subject: "Password reset" end end
user_maller_test.rb: require 'test_helper' class UserMailerTest < ActionMailer::TestCase test "account_activation" do user = users(:michael) user.activation_token = User.new_token mail = UserMailer.account_activation(user) assert_equal "Account activation", mail.subject assert_equal [user.email], mail.to assert_equal ["noreply@example.com"], mail.from assert_match user.name, mail.body.encoded assert_match user.activation_token, mail.body.encoded assert_match CGI.escape(user.email), mail.body.encoded end test "password_reset" do user = users(:michael) user.reset_token = User.new_token mail = UserMailer.password_reset(user) assert_equal "Password reset", mail.subject assert_equal [user.email], mail.to assert_equal ["noreply@example.com"], mail.from assert_match user.reset_token, mail.body.encoded assert_match CGI.escape(user.email), mail.body.encoded end end

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

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

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

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

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

guest

回答1

0

ベストアンサー

def password_reset

仮引数がない

おそらく

ruby

1def password_reset(user) 2 @user = user 3 mail to: user.email, subject: "Password reset" 4end

が正しいかと

投稿2018/08/14 12:02

asm

総合スコア15147

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

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

Yaiba184

2018/08/14 12:33 編集

回答ありがとうございます。 それに変えてみましたが、わけわからんエラーコード大量に出ました。 どうやら違ったみたいです。 一応そのエラーも載せます。 Failure: UserMailerTest#test_password_reset [test/mailers/user_mailer_test.rb:24]: Expected /GBoRxjg3Giy25tVAO8TBpQ/ to match # encoding: US-ASCII "\r\n----==_mimepart_5b72c53c32b15_21b43fb4dbc066b83846\r\nContent-Type: text/plain;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: base64\r\n\r\nCgrjg5Hjgrnjg6/jg7zjg4njgpLlho3oqK3lrprjgZnjgovjgZ/jgoHjga7j\r\ng6rjg7Pjgq86CiAgaHR0cDovL2V4YW1wbGUuY29tL3Bhc3N3b3JkX3Jlc2V0\r\ncy9HQm9SeGpnM0dpeTI1dFZBTzhUQnBRL2VkaXQ/ZW1haWw9bWljaGFlbCU0\r\nMGV4YW1wbGUuY29tCgoy5pmC6ZaT57WM44Gk44Go44GT44Gu44Oq44Oz44Kv\r\n44Gv54Sh5Yq544Gr44Gq44KK44G+44GZ44CCCgoK44KC44GX44GC44Gq44Gf\r\n44GM44OR44K544Ov44O844OJ44Gu5YaN6Kit5a6a44KS55Sz6KuL44GX44Gm\r\n44GE44Gq44GE44Gu44Gr44KC6Zai44KP44KJ44Ga44GT44Gu44Oh44O844Or\r\n44GM5bGK44GE44Gf5aC05ZCI44Gv44GT44Gu44Oh44O844Or44KS54Sh6KaW\r\n44GX44Gm44GP44Gg44GV44GE44CCCuOBguOBquOBn+OBruODkeOCueODr+OD\r\nvOODieOBr+OBneOBruOBvuOBvuOBp+OBmeOAggoK\r\n\r\n----==_mimepart_5b72c53c32b15_21b43fb4dbc066b83846\r\nContent-Type: text/html;\r\n charset=UTF-8\r\nContent-Transfer-Encoding: base64\r\n\r\nPCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgaHR0\r\ncC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo\r\nYXJzZXQ9dXRmLTgiIC8+CiAgICA8c3R5bGU+CiAgICAgIC8qIEVtYWlsIHN0\r\neWxlcyBuZWVkIHRvIGJlIGlubGluZSAqLwogICAgPC9zdHlsZT4KICA8L2hl\r\nYWQ+CgogIDxib2R5PgogICAgPGgxPuODkeOCueODr+ODvOODieOCkuWGjeio\r\nreWumuOBmeOCizwvaDE+Cgo8cD7jg5Hjgrnjg6/jg7zjg4njgpLlho3oqK3l\r\nrprjgZnjgovjgZ/jgoHjga7jg6rjg7Pjgq86PC9wPgoKPGEgaHJlZj0iaHR0\r\ncDovL2V4YW1wbGUuY29tL3Bhc3N3b3JkX3Jlc2V0cy9HQm9SeGpnM0dpeTI1\r\ndFZBTzhUQnBRL2VkaXQ/ZW1haWw9bWljaGFlbCU0MGV4YW1wbGUuY29tIj5S\r\nZXNldCBwYXNzd29yZDwvYT4KCjxwPjLmmYLplpPntYzjgaTjgajjgZPjga7j\r\ng6rjg7Pjgq/jga/nhKHlirnjgavjgarjgorjgb7jgZnjgII8L3A+Cgo8cD4K\r\nICDjgoLjgZfjgYLjgarjgZ/jgYzjg5Hjgrnjg6/jg7zjg4njga7lho3oqK3l\r\nrprjgpLnlLPoq4vjgZfjgabjgYTjgarjgYTjga7jgavjgoLplqLjgo/jgonj\r\ngZrjgZPjga7jg6Hjg7zjg6vjgYzlsYrjgYTjgZ/loLTlkIjjga/jgZPjga7j\r\ng6Hjg7zjg6vjgpLnhKHoppbjgZfjgabjgY/jgaDjgZXjgYTjgIIKICDjgYLj\r\ngarjgZ/jga7jg5Hjgrnjg6/jg7zjg4njga/jgZ3jga7jgb7jgb7jgafjgZnj\r\ngIIKPC9wPgoKICA8L2JvZHk+CjwvaHRtbD4K\r\n\r\n----==_mimepart_5b72c53c32b15_21b43fb4dbc066b83846--\r\n".
asm

2018/08/14 12:28

railsチュートリアルのバグに近い挙動ですね 余計なカスタマイズをやめてpassword_reset.text.erbを原文通り英語のみにしてください
Yaiba184

2018/08/14 12:33

治りました!ありがとうございます!!!!! 文字コードに原因があったんですね勉強になります
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問