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

秋雲茶のお気に入り

  • 西小倉事典 西小倉事典
  • おぎやす広辞苑 おぎやす広辞苑
  • shinout.knowledge shinout.knowledge
  • DoppyDaijiroのブック DoppyDaijiroのブック

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

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

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 を使わない方がいいのかも。