Ruby on rails RubyonRails教程测试10..20
有人能通过MichaelHarty的测试10.20RubyonRails教程吗? 我有以下我无法理解的错误;除此之外,我严格遵守了教程的指导 例如,教程说要更改为noreply@example.com"] 但它指出了这条线的错误…… 我是否应该更改这一行并通知Michael Harty有关错误/做些其他事情来修复错误 我使用:ruby-2.3.0 rails-4.2.2 错误: 错误[“测试帐户激活”,UserMailerTest,2016-03-23 16:43:45 +0000]test_account_activation#UserMailerTest(1458751425.73s)ArgumentError:ArgumentError:参数数目错误(给定 0,应为1) app/mailers/user\u mailer.rb:3:inRuby on rails RubyonRails教程测试10..20,ruby-on-rails,Ruby On Rails,有人能通过MichaelHarty的测试10.20RubyonRails教程吗? 我有以下我无法理解的错误;除此之外,我严格遵守了教程的指导 例如,教程说要更改为noreply@example.com"] 但它指出了这条线的错误…… 我是否应该更改这一行并通知Michael Harty有关错误/做些其他事情来修复错误 我使用:ruby-2.3.0 rails-4.2.2 错误: 错误[“测试帐户激活”,UserMailerTest,2016-03-23 16:43:45 +0000]test_a
account\u activation'
test/mailers/user\u mailer\u test.rb:6:in
block in'
app/mailers/user\u mailer.rb:3:inaccount\u activation'
test/mailers/user\u mailer\u test.rb:6:in
block in'
失败[“测试密码重置”,用户邮箱测试,2016-03-23 16:43:45
+0000]test_password_reset#UserMailerTest(1458751425.83s)
预期:[”from@example.com"]
实际:[”noreply@example.com"]
test/mailers/user\u mailer\u test.rb:16:in'block in'
39/39:
[=============================================================] 100%
时间:00:00:03,时间:00:00:03
//user\u mailer.rb
类UserMailer 类UserMailerTest
我添加了将Michael更改为Tatyana的文件,但仍然出现如下错误:我找到此文件并将其添加为将Michael更改为Tatyana,但仍然出现如下错误:
错误[“测试帐户激活”,UserMailerTest,2016-03-23 16:43:44+0000]
测试账户激活用户邮箱测试(1458751424.20s)
ActionView::Template::Error:ActionView::Template::Error:缺少要链接到的主机!请提供:主机参数,设置默认\u url\u选项[:主机],或将:only\u路径设置为true
app/views/user\u mailer/account\u activation.html.erb:9:in\u app\u views\u user\u mailer\u account\u activation\u html\u erb\u 238003839326460902\u 67365800'
app/mailers/user\u mailer.rb:5:in
account\u activation'
test/mailers/user\u mailer\u test.rb:9:inblock in'
app/views/user\u mailer/account\u activation.html.erb:9:in
\u app\u views\u user\u mailer\u account\u activation\u html\u erb\u 238003839326460902\u 67365800'
app/mailers/user\u mailer.rb:5:inaccount\u activation'
test/mailers/user\u mailer\u test.rb:9:in'UserMailer.account\u activation方法需要测试中的user参数
class UserMailerTest < ActionMailer::TestCase
test "account_activation" do
mail = UserMailer.account_activation(User.create(email: "foo@bar.com"))
assert_equal "Account activation", mail.subject
assert_equal ["to@example.org"], mail.to
assert_equal ["from@example.com"], mail.from
assert_match "Hi", mail.body.encoded
end
end
类UserMailerTest
该错误来自用户邮件测试。rb:6
第6行
在class UserMailer
第3行中,您将user
对象传递给def account\u activation(user)
,但在您的UserMailer.account\u activation
中,没有传递任何内容。请遵循该书,它应该是这样的示例
user = users(:michael)
user.activation_token = User.new_token
mail = UserMailer.account_activation(user) # right here user passed.
test/mailers/user\u mailer\u test.rb如下所示,允许从一个错误中删除: 需要“测试助手”
类UserMailerTest
\u app\u views\u user\u mailer\u account\u activation\u html\u erb\u 1635017718511086794\u 82209820'
app/mailers/user\u mailer.rb:5:in
account\u activation'
test/mailers/user\u mailer\u test.rb:9:inblock in'
app/views/user\u mailer/account\u activation.html.erb:9:in
\u app\u views\u user\u mailer\u account\u activation\u html\u erb\u 1635017718511086794\u 82209820'
app/mailers/user\u mailer.rb:5:inaccount\u activation'
test/mailers/user\u mailer\u test.rb:9:在“中的
块中,已解决此问题。此错误是由于未放置电子邮件选项造成的。
感谢7urkm3n:我有这个文件,但我仍然有一个错误,指出我有主机丢失的模板错误??我不认为我应该更改模板,但为了摆脱错误,我添加了本地主机3000,它仍然指向主机中的语法错误……如何修复它并通过测试10.20谢谢。请提供更多详细信息如果你知道如何实现它,请举个例子。谢谢。我有完全相同的文件,仍然有一个错误。你知道需要更改什么吗?正如你所说,我已经更改了,但仍然有一个错误:错误[“测试帐户激活”,UserMailerTest,2
user = users(:michael)
user.activation_token = User.new_token
mail = UserMailer.account_activation(user) # right here user passed.
user = users(:tatyana)
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