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

もしかして

    他の人の「rails-foreignKey」

    S 8e806432b0970ab7146e36f2ba2d7aac

    秋雲です。とうとうつぶやきを公開するまでに至りました。リアルでもよくつぶやくのでぴったりですね。 マインディアっていう会社でITエンジニアしてます。RailsとかCakeとか、フレームワークを使ってのお仕事がメイン。サーバサイドも担当することも。プログラミングの他はアニメとかよく?見ます。

    最新

      最新エントリ

        関連ツイート