Ruby on rails Rails测试错误,NameError:uninitialized constant User::FILL\u IN
我目前正在学习RubyonRails教程 我做了rails测试,然后得到了这个错误 错误日志 app/controllers/account\u activations\u controller.rbRuby on rails Rails测试错误,NameError:uninitialized constant User::FILL\u IN,ruby-on-rails,Ruby On Rails,我目前正在学习RubyonRails教程 我做了rails测试,然后得到了这个错误 错误日志 app/controllers/account\u activations\u controller.rb class AccountActivationsController
class AccountActivationsController
测试/集成/用户注册测试.rb
需要“测试助手”
类UsersSignupTest
你能帮我解决这个问题吗?你不应该实际使用
FILL\u这个词。您应该更改填写以使测试通过。您可能需要以下内容:
update_columns(activated: true, activated_at: Time.now)
您不应该实际使用FILL\u IN
。您应该更改填写以使测试通过。您可能需要以下内容:
update_columns(activated: true, activated_at: Time.now)
class AccountActivationsController < ApplicationController
def edit
user = User.find_by(email: params[:email])
if user && !user.activated? && user.authenticated?(:activation, params[:id])
user.activate
log_in user
flash[:success] = "Account activated!"
redirect_to user
else
flash[:danger] = "Invalid activation link"
redirect_to root_url
end
end
end
require 'test_helper'
class UsersSignupTest < ActionDispatch::IntegrationTest
...
assert_equal 1, ActionMailer::Base.deliveries.size
user = assigns(:user)
assert_not user.activated?
log_in_as(user)
assert_not is_logged_in?
get edit_account_activation_path("invalid token", email: user.email)
assert_not is_logged_in?
get edit_account_activation_path(user.activation_token, email: 'wrong')
assert_not is_logged_in?
get edit_account_activation_path(user.activation_token, email: user.email)
assert user.reload.activated?
follow_redirect!
assert_template 'users/show'
assert is_logged_in?
end
update_columns(activated: true, activated_at: Time.now)