私はRailsとRSpecから始めてFactoryGirlに問題があります。基本的にオブジェクトは属性を受け取らない。FactoryGirlは値の代わりに 'nil'を渡します
モデル/ user.rb
class User < ActiveRecord::Base
attr_accessor :name, :email, :show_name, :company, :identity, :password, :phone, :mobile
validates_presence_of :name, :show_name, :email, :company, :identity, :password, :phone
validates_uniqueness_of :email
end
スペック/ factories.rb
FactoryGirl.define do
factory :user do
name "John Doe"
email "[email protected]"
show_name "John Doe"
company "Company"
identity "123.456.789-10"
password "abc123"
phone "1234-5678"
mobile "1234-5678"
end
end
のRailsコンソール
irb(main):001:0> u = FactoryGirl.create(:user)
(0.1ms) BEGIN
User Exists (0.3ms) SELECT 1 FROM `users` WHERE `users`.`email` = BINARY '[email protected]' LIMIT 1
SQL (0.4ms) INSERT INTO `users` (`company`, `email`, `identity`, `mobile`, `name`, `password`, `phone`, `show_name`) VALUES (NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
Mysql2::Error: Column 'company' cannot be null: INSERT INTO `users` (`company`, `email`, `identity`, `mobile`, `name`, `password`, `phone`, `show_name`) VALUES (NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
(0.1ms) ROLLBACK
ActiveRecord::StatementInvalid: Mysql2::Error: Column 'company' cannot be null: INSERT INTO `users` (`company`, `email`, `identity`, `mobile`, `name`, `password`, `phone`, `show_name`) VALUES (NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)
誰かが間違って何を知っていますか?