ユーザーがいて、さまざまなタイプのユーザーを作成したいと思う場合、電子メールとWebサイトのフィールドを持つサブスクライバのみの普通のユーザーと言うと、追加されたユーザーからすべてを継承する方法フィールド?Railsモデル継承
答えて
すべてのフィールドを含むテーブルを作成し、型の列を指定する必要があります。 すなわち
create_table :users do |t|
t.string :email
t.string :website
t.string :type
end
次に、あなたは、加入者がユーザーモデルからすべてを継承します
Class User < ActiveRecord::Base
Class Subscriber < User
のようなクラスを持つことができます。タイプコラムがあるので、異なるモデルと区別することができます。たとえば、「タイプ」の列を使用しなかった場合と同様に、ユーザーも検索されます。
あなたはsingle table inheritanceがほしいと思う、Alex Reisnerのリンクで説明されている。 STIは単一の表を使用して、が基本モデルからを継承する複数のモデルを表します。 Railsの世界では、データベース・スキーマには行によって表されるモデルのタイプを指定する列があります。データベース移行でtype
という名前の列を追加すると、RailsはSTIを使用することを推論しますが、データモデルで名前を指定すると列は任意の名前になります(class method 'inheritance_column'を参照)。これにより、type
は予約語になります。
これは壊れています。私は正しいリンクが[http://www.alexreisner.com/code/single-table-inheritance-in-rails](http://www.alexreisner.com/code/single-table-inheritance-in-rails)だと思います) –
このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 – Luke
@ルーク:「単一テーブルの継承」が答えである限り、それは正確にリンク専用ではありません。 –
- 1. Railsモデルの継承?
- 2. Ruby on Rails 3のモデル継承
- 3. 継承モデル
- 4. 継承モデルのスコープ
- 5. Djangoモデルの継承とlimit_choices_to
- 6. Orient Dbの継承モデル
- 7. djangoモデルの自動継承
- 8. Userモデルの継承とDjango
- 9. Djangoのモデルの継承、フィルタリングモデル
- 10. 継承モデルのDjangoシリアル化
- 11. Django ForeignKey _継承モデルのセット
- 12. rails - 継承クラスは別のモデルに属します
- 13. RailsモデルがActiveRecord :: Baseから継承しない
- 14. Railsの5モデルが親のメソッドを継承していない
- 15. Rails STI検証継承
- 16. Rails単一テーブル継承
- 17. Ruby on Railsのクラス継承
- 18. 「生物学」継承のグラフィカル・モデル/シミュレーション(OOP継承ではない)
- 19. Railsクラステーブル継承宝石、擬似継承、欠落メソッド
- 20. 親asp.netページの継承モデルのベストプラクティス
- 21. はコードシニターでモデルを継承します
- 22. Djangoのナニとモデルの継承
- 23. Node.jsを使用したデータベース継承モデル
- 24. ActiveRecordモデルの継承と多型
- 25. GORM、継承モデル、再帰的なリンク
- 26. DjangoモデルでPythonオブジェクトを継承する
- 27. アプリとモデルの継承の疎結合
- 28. Djangoモデルでメタクラスを継承する
- 29. アプリケーションエンジンのdjango-nonrelでのモデル継承
- 30. Djangoモデル継承 - 子を取得
OP:これは「単一テーブル継承」または「STI」と呼ばれます。だから、もしあなたがそれを必要とするなら、それがどのように働くかについてのより多くの情報のためのGoogle。 – Pavling
トピックでかなりのグーグル・グーグルを行った後、モデルによってデータが異なる場合に多態的な関連付けを使用するほうが好ましいと思われるものもあります。これにより、多数のヌルフィールドを持つ1つのテーブルを持つことが回避されます。 このrailscastが役に立ちました:http://railscasts.com/episodes/394-st-and-polymorphic-associations。 – rogerkk
タイプ欄にはどのような実際の値がありますか? –