0
Я работаю на 10-й главе рубина на рельсы учебник и получаю ошибку последующей:UserMailerTest ArgumentError: неверное число аргументов (0 для 1)
UserMailerTest#test_account_activation:
ArgumentError: wrong number of arguments (0 for 1)
app/mailers/user_mailer.rb:3:in `account_activation'
test/mailers/user_mailer_test.rb:6:in `block in <class:UserMailerTest>'
Я не уверен, что вызывает ошибка, так как коды те же, что и коды из учебника. Есть идеи?
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: "[email protected]"
end
end
application_mailer.rb
class ApplicationMailer < ActionMailer::Base
default from: "[email protected]"
layout 'mailer'
end
routes.rb
Rails.application.routes.draw do
get 'sessions/new'
root 'welcome#index'
get 'contact' => 'welcome#contact'
get 'about' => 'welcome#about'
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
resources :users
resources :account_activations, only: [:edit]
match ':controller(/:action(/:id))', :via => :get
end
user_mailer_test.rb
require 'test_helper'
class UserMailerTest < ActionMailer::TestCase
test "account_activation" do
mail = UserMailer.account_activation
assert_equal "Account activation", mail.subject
assert_equal ["[email protected]"], mail.to
assert_equal ["[email protected]"], mail.from
assert_match "Hi", mail.body.encoded
end
test "password_reset" do
mail = UserMailer.password_reset
assert_equal "Password reset", mail.subject
assert_equal ["[email protected]"], mail.to
assert_equal ["[email protected]"], mail.from
assert_match "Hi", mail.body.encoded
end
end
Спасибо!
Я вижу, это исправлено. благодаря! –