Blog主に技術系の学習メモに使っていきます。etc...こうなってくるとプロパティだけでなくて、Userモデルにメソッドもモリモリマッチョにになっちゃう可能性がありますよね・・・!そういうときは、has_oneを使ってモデルを分割してあげるとスッキリします(・∀・)has_oneとは?Userモデルを分割するProfileモデルを定義するassociationを定義するおわりにhas_oneとは?まずhas_oneとは一体なんなのか?ということですが、Railsリファレンスを見てみると下記と記載されています。Railsドキュメントこれだと正直わからないのですが、Railsガイドに良い感じの説明が記載されていました。has_one関連付けも、他方のモデルとの間に1対1の関連付けを設定します。その意味と結果はbelongs_toとは若干異なります。has_one関連付けの場合は、その宣言が行われているモデルのインスタンスが、他方のモデルのインスタンスを「まるごと含んでいる」または「所有している」ことを示します。railsguides.jp上記説明の通り、has_oneを使えば1:1のアソシエーションを定義することが出来ます!φ(..)Userモデルを分割するhas_oneについて、概要が理解出来たところで実際にUserモデルを分割してみます。今回は一番最初に書いた下記のようなプロパティが定義されているUserモデルを例にして分割方法を考えてみようと思います。ProfileProfileモデルを定義するまずはUserのプロフィール関連の項目を設定するProfileモデルを定義するために下記コマンドを実行します。user:references準備はこれでOK!(・∀・)associationを定義するそれでは、実際にhas_oneを使ってassociationを定義していきます。:destroybelongs_toをUserとProfileどちらに記載するか迷うところですが、これはどちらがメインのモデルかを考えて、メインのモデルにhas_oneを記載します。UserはProfileを持つこれが成り立つならUserモデルがメインと言えます。controllerをより防ぎやすくなると思います。Rails:モデルに独自のバリデーションを実装するRailsはvalidationを使って必須等の色々なデータの制約を付与す...2017-09-25RubyonRails:Rails5で使えるデータ検索関連のメソッドをまとめてみた現在、Railsブロンズ試験を受験してみようと思い、RubyonRails5...2017-09-14RubyonRails:herokuのDBを開発環境(ローカル)へリストア(復元)する。»プロフィールid:madogiwa0124プログラミングの学習メモや書籍の感想等を公開していきます。ActivitiesMadogiwa0124はてなブログをはじめよう!madogiwa0124さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。