我在公司表和用戶表(1家公司有很多用戶)之間有1:多的關係。然而,似乎company_id是用戶的強制值。至少我相信這是我在播種時遇到的錯誤的原因:ActiveRecord::AssociationTypeMismatch: Company(#29826300) expected, got String(#8555320)
。我如何使關係成爲可選項,還包括沒有公司的用戶?1:很多關係,但希望它是可選的
在我的用戶遷移文件,我有:
t.references :company, index: true, foreign_key: true
add_index :users, [:company_id, :username] #
在我公司的模型文件:
has_many :users
accepts_nested_attributes_for :users, :reject_if => :all_blank, :allow_destroy => true
在我的用戶模型文件:
belongs_to :organization
這聽起來更像是你在你的種子文件中做了一些錯誤的事情,比如'User.create(company:'nil')'你能否把它添加到問題中? – max
我的種子文件正在工作,然後我添加了關係。接下來,我沒有更改我的種子文件和種子(表格的新創建/遷移之後)。然後我收到播種的錯誤信息。 – Nick
鑑於我有的代碼,應該使關係可選通常?如果我從種子文件中刪除用戶記錄,它會成功種子。 – Nick