1. ホーム
  2. ruby-on-rails

[解決済み] Railsでモデルの属性を発見する方法は?

2022-04-25 20:35:43

質問

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

モデルの属性を発見するために、私はschema.rbファイルを開いたままにして、必要に応じて書いているコードと切り替えている。 これはうまくいくのですが、スキーマファイルを読んで属性を調べ、モデルクラスファイルを読んでメソッドを調べ、そして属性とメソッドを呼び出すために新しく書くコードを切り替える必要があるため、不便なのです。

質問ですが、Railsのコードベースを初めて分析するとき、どのようにしてモデルの属性を発見するのでしょうか? schema.rbファイルを常に開いておくのでしょうか。それとも、スキーマファイルとモデルファイルの間を常にジャンプしない、もっと良い方法があるのでしょうか?

解決方法は?

スキーマ関連について

Model.column_names         
Model.columns_hash         
Model.columns 

例えばARオブジェクトの変数や属性など

object.attribute_names                    
object.attribute_present?          
object.attributes

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

Model.instance_methods(false)