Hor*_*ice 4 ruby ruby-on-rails ruby-on-rails-3
让我们说在我的rails控制器中我有一个方法set_one()将通过a调用before_filter.在控制器操作之前每次都会调用此方法,还是在整个控制器中运行一次?如果它是一次性的事情,那么这意味着它创建的实例变量将在整个控制器中可用.我认为控制器动作是无状态的.如果只在所有行动之前运行一次,这是否有助于缩小差距?
def set_one
 # do really complex processing and set the variable @one. 
 @one = 1;
end
提前致谢.:)
before_filter将为控制器的每个请求调用该方法.您可以将其设置为仅针对某些操作运行:
before_filter :authorize, :only => :delete
甚至阻止它在特定的动作中运行:
before_filter :authorize, :except => [:index, :show]
BTW,新的语法before_filter是before_action
| 归档时间: | 
 | 
| 查看次数: | 2708 次 | 
| 最近记录: |