DBテーブル列名がuidのユーザーは、Userモデルでメソッドuidを作成します。フィールドが:uidのフォームを送信すると、Userメソッドuidが呼び出されます。私はこれがどこにも説明されていないことを見たことがなかったし、Railsがこれをしたことは全く考えていなかっRails、列名およびメソッド名の振る舞い
これは、その列のロジックを入れる良い方法ですか、これを避けるべきですか?
DBテーブル列名がuidのユーザーは、Userモデルでメソッドuidを作成します。フィールドが:uidのフォームを送信すると、Userメソッドuidが呼び出されます。私はこれがどこにも説明されていないことを見たことがなかったし、Railsがこれをしたことは全く考えていなかっRails、列名およびメソッド名の振る舞い
これは、その列のロジックを入れる良い方法ですか、これを避けるべきですか?
これは、モデルにロジックを追加するための優れた方法です。ここではそれについての詳細を読む
http://api.rubyonrails.org/classes/ActiveRecord/Base.html
を「上書きデフォルトのアクセサ」の下に。
method_missing
コールバックを使用して、「動的メソッド」パターンと組み合わせて、いわゆる「ゴーストメソッド」パターンを使用します。
ここで説明を参照してください。http://rubylearning.com/blog/2010/10/07/do-you-know-rubys-chainsaw-method/