my story blog

JavaScriptとかRubyの技術的なことを書きたい

ActiveRecord::AssociationTypeMismatch: expected, got Fixnum

railsでデータをinsertしようとした際、参照項目に対し、モデル以外を指定すると上記のようなエラーが発生する。

例としてUserとPostが1:nの関係で存在する場合。

NG例

user_id = User.first.id #←idを指定する
Post.new(:user => user_id)
# ActiveRecord::AssociationTypeMismatch: 

OK例

user = User.first #←userレコードそのものを指定する
Post.new(:user => user)
# OK