Rails 5, ruby 2.4.0 错误:运行导轨测试时出现导轨
Mysql2::Error: Column 'encrypted_password' cannot be null
我的测试:utilities_controller_test.rb
require 'test_helper'
class UsersControllerTest < ActionDispatch::IntegrationTest
test "Has first name vidur" do
get users_update_address_url
assert_equal "vidur", users(:regular).first_name
end
end
我的灯具:用户.yml
admin:
id: 1
first_name: admin
last_name: tukaweb
email: 'admin@email.com'
encrypted_password: <% Devise::Encryptor.digest(User, 'password') %>
regular:
id: 2
first_name: vidur
last_name: punj
email: 'vidur.punj@hotmail.com'
encrypted_password: <% Devise::Encryptor.digest(User, 'password') %>
您可能希望打印该 Ruby 代码的输出,而不仅仅是评估它,因此您需要将 ERB 分隔符从仅评估更改为输出。
换句话说,改变
<% %>
到<%= %>
所以在你的情况下:
encrypted_password: <%= Devise::Encryptor.digest(User, 'password') %>