0

私のアプリケーションは多くのアクションで使用されますrender :nothing => true。DRYになりたい。特定のコントローラーに対してデフォルトで何もレンダリングしないとレールに言うにはどうすればよいですか?

4

2 に答える 2

0

あなたは次のようなことをすることができます:

# put this in a module, or your ApplicationController
def self.nothing_for *actions
   before_filter :only => actions do
      render :nothing => true
   end
end

# This would go in your specific controllers
nothing_for :show, :new, :create
于 2012-05-17T01:55:47.137 に答える
-1

これはあなたが必要とすることをするかもしれません:

before_filter :render_nothing

private
def render_nothing
  render :nothing => true
end

before_filterafter_filterアクションが終了した後、つまりコンテンツがレンダリングされた後に後者が実行されるためではありません。
ソース: http://ap.rubyonrails.org/classes/ActionController/Filters/ClassMethods.html#M000128

于 2012-05-17T00:17:58.087 に答える