0
私はRails 4アプリケーションのすべてのタイプのユーザのベースとなるperson
モデルを持っています。私はadministrator
モデル、worker
モデル、client
モデルはすべてネストされた属性を受け入れます。ここで私はperson_id
はnullにすることはできませんと言う制約を持っている私のSQLiteデータベースには私のadministrator
モデルMinestestとRailsでネストされたコントローラのユニットテストを設定する方法
class Administrator < ActiveRecord::Base
belongs_to :person
accepts_nested_attributes_for :person
... other model code here
end
です。
administrator
用コントローラテストは、メッセージ」
ActiveRecord::StatementInvalid: SQLite3::ConstraintException: NOT NULL
constraint failed: administrators.person_id: INSERT INTO "administrators"
("created_at", "updated_at") VALUES (?, ?)
administrators_controller_test.rb
setup do
@administrator = administrators(:administrator_montgomery_burns)
@person = people(:person_montgomery_burns)
end
test "should create administrator" do
assert_difference('Administrator.count') do
post :create,
administrator: {
person_id: @administrator.person_id
}
end
assert_redirected_to administrator_path(assigns(:administrator))
end
、
test "should create administrator" do
assert_difference('Administrator.count') do
post :create,
administrator: {
person: {
first_name: @person.first_name,
... all other person attributes
}
}
end
assert_redirected_to administrator_path(assigns(:administrator))
end
任意のアイデアを失敗していますこれをどうやってやるの?