rails-foreignKey
0pt
外部参照のこと。
railsコマンドで
> rails generate scaffold users name:string role:references
などとすると、Usersテーブルには、role_id という名前で作成され、Usersモデルには、ありがたくも自動的に「belongs_to :roles」が追記される。
では同様に「views/users/_form.html.erb」のフォームもrole_idとなるのか、というとそうではなく、こちらは「role」のまま。
そしてこのまま新規作成をすると、
ActiveRecord::AssociationTypeMismatch
というエラーが出る。
原因は先ほどの「role」。こちらを「role_id」とするとちゃんと更新できました。
しかし、Scaffoldで作成したのにそんな落とし穴が潜んでいるとは。。。
何か、references を使わない方がいいのかも。
「rails-foreignKey」について友人に書いてもらう。
コメントはまだありません