Railsでモデル属性を見つけるにはどうすればいいですか? 質問する

Railsでモデル属性を見つけるにはどうすればいいですか? 質問する

クラス ファイルで属性/プロパティが明示的に定義されていないため、すべてのモデル クラスにどのような属性/プロパティが存在するかを簡単に確認することが困難です。

モデル属性を見つけるには、schema.rb ファイルを開いたままにして、必要に応じて、そのファイルと自分が書いているコードの間を切り替えます。この方法は機能しますが、属性を取得するためにスキーマ ファイルの読み取り、メソッドを確認するためにモデル クラス ファイル、属性とメソッドを呼び出すために書いている新しいコードの間で切り替える必要があるため、扱いにくいです。

私の質問は、Rails コードベースを初めて分析するときに、モデル属性をどのように検出するかということです。 schema.rb ファイルを常に開いたままにしておきますか、それともスキーマ ファイルとモデル ファイルの間を頻繁に行き来しない、もっと良い方法がありますか?

ベストアンサー1

スキーマ関連

Model.column_names         
Model.columns_hash         
Model.columns 

ARオブジェクトのインスタンス変数/属性

object.attribute_names                    
object.attribute_present?          
object.attributes

スーパークラスから継承しないインスタンスメソッド

Model.instance_methods(false)

おすすめ記事