あきくもちゃのブック
(139 keywords)

秋雲茶のお気に入り

  • 里香のブック 里香のブック
  • マインディアからのお知らせ マインディアからのお知らせ
  • gacky's report gacky's report
  • shinout.knowledge shinout.knowledge

あきくもちゃのブックのメンバー

  • 西小倉パンデイロ 西小倉パンデイロ
  • 里香 里香
  • しん しん
  • なおき なおき

rails-foreignKeyの履歴

外部参照のこと。
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 を使わない方がいいのかも。