3

クイック質問、

次のような、StandardError から拡張された ruby​​ クラスがいくつかあります。

class NotAuthorized < StandarError
end

このクラスは、このようなコントローラーで例外を発生させるためだけに使用します

class SomeController < ApplicationController

  before_filter :is_admin!

  protected
  def is_admin!
     raise NotAuthorized if ...
  end
end

NotAuthorized クラスはモデルではないので、モデル フォルダの下にある必要はないと思います。また、コントローラーのみを提供しますが、コントローラーではありません。この種のクラスは通常どこに配置しますか?

4

1 に答える 1

2

あなたが使用しているレールのバージョンについて話していなかったので、私はレール4を参照します.

Rails 3以降(私は思う)、その下のすべてのフォルダーが自動ロードされappます。これを念頭に置いて、それが属する場所に物を置いてapp/exceptions app/worker app/wheteverください。

私の観点からは、例外は少し異なります。彼らは通常、ある種の文脈を持っています。だから私はそれらがいくつかのモジュールにあるのが好きAuthorization::NotAuthorizedです。

Authorization私の場合、このエラークラスを保持するという名前の懸念があります。

于 2013-10-11T13:12:21.357 に答える