Railsでtypeが予約後でエラーでたからついでにActiveRecordの規約調べてみた。(ActiveRecord::SubclassNotFound: Invalid single-table inheritance type)
Railsで以下のエラー
ActiveRecord::SubclassNotFound: Invalid single-table inheritance type
結果
ActiveRecord::SubclassNotFound: Invalid single-table inheritance type
type
は予約後でした。。。
ついでに(ActiveRecord命名規約とスキーマ規約)
命名規約
モデルクラス
キャメルケース(PostAuthor)
テーブル、スキーマ
スネークケース(post_author)
スキーマ規約
外部キー
(単数形テーブル名)_id(例: item_id、order_id)
主キー
デフォルトでは自動生成されるid
変更もできる。
def change
create_table :author, id: false do |t|
...
end
self.primary_key = :name
created_at
作成時に現在の日時を取得して登録
updated_at
更新時に現在の日時を取得して登録・更新
lock_version
楽観的ロックをかける
(ユーザAとユーザBが編集画面を開いていて、ユーザAが先に更新していた場合、ユーザBの更新は失敗する。)
type
単一テーブル継承
(同じような機能のテーブルは1つのテーブルで実現しよう、それでtypeを使って分類すればいいよねってやつ)
(関連名)_type
ポリモーフィック関連
(違う親を持つけど、どっちもあるテーブルこれを使ってるって場合!例えば、companyとuserで同じimageテーブルを使うとか...typeでcompany_idを指すか、user_idを指すかを決めようねってやつ)
(テーブル名)_count
関連付けられたオブジェクトの数をキャッシュ。
参考
Activeレコードの基本 | Rails日本語ドキュメント | Ruby STUDIO
http://ruby.studio-kingdom.com/rails/guides/active_record_basics
Rails4 - Railsで規約に沿わない古いデータを扱う - Qiita
http://qiita.com/k-shogo/items/884498ad512c0e6eb303
ActiveRecordによる楽観的ロック | Ruby on Rails 備忘録 - Ride On Rails
http://rubyonrails.gachinko.org/3-2/lock_optimistically/
【Rails】ActiveRecord:単一テーブル継承(sti)とポリモーフィック関連を未だにぱっと思い出せないのでまとめ。 - 記すに足らず。
http://shirusu-ni-tarazu.hatenablog.jp/entry/2012/11/04/173742
Author And Source
この問題について(Railsでtypeが予約後でエラーでたからついでにActiveRecordの規約調べてみた。(ActiveRecord::SubclassNotFound: Invalid single-table inheritance type)), 我々は、より多くの情報をここで見つけました https://qiita.com/h1kita/items/65006f2f20ae4259334a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .