いつもありがとうございますの使用の保護の視認性のレール?
-
23-08-2019 - |
質問
告白:まだ利用 民間 や 公開 視認性も!
っているような気がすことは悪いことであると考えていた。がレールだけではなさそうにしています。
は誰もいえるレールと大きな間違いを使用しない 保護 視認性?
解決
更新 --をご覧くださいコメントとリンク 真の説明 protected
/private
Ruby.した深部の偏見が残っJava日前るということでもあります。の重要な部分を残したの私の答えは、コントローラーされていないメソッドの行動すべきでない public
少なくともお路を保護する必要がありました。
単一テーブルの継承がえの場合 protected
は、モデル層としての共通の遺産である。
のコントローラー、ヘルパーで定義されている方法に ApplicationController
示されるべきであるとして protected
--あれば private
その他のコントローラがアクセスできないしだい public
レールの処理として行動します。
個人的には、私が使っていクラスの継承により多くの友人や同僚でも、レールに願います。を使用していない(とから私のJava日)、いっそう引き立て protected
すべてのヘルパーの手法を繰り返してリカバリーに努めまで(通常私ためのクラス--なん本当に恥ずかしい、そしてマークで private
. :)
他のヒント
私は単一テーブル継承を持っている。
クラスPerson
そして、私は学生と教師のための共通ですプライベートメソッドを実装するために保護されたメソッドを使用します
class Person < AR::base
def self.find(*args)
reject_leaves(super(*args))
end
protected
def self.reject_leaves(target) #like a private in Teacher and Student
case target
when Array target.select{|t| reject_leaves(t)}
when Person (target.leave_date < Date.today ? target : nil)
else target
end
end
end
免責事項:私はあなたのポイントを取得するためにここに簡略化されていることを、私はあなたのケースを表示するために、ここで使用しますが、私は、より複雑な風景を持っている機能を実装するなど、被害妄想ACT-およびその他のようなプラグインがあります。