Cur*_*ind 13 ruby ruby-on-rails
只是想到了我的想法.以下是有什么区别的
的before_filter
class ApplicationController < ActionController::Base
before_filter :foo
def foo
@mode = Model.new
end
end
Run Code Online (Sandbox Code Playgroud)
ruby初始化
class ApplicationController < ActionController::Base
def initialize
foo
end
def foo
@mode = Model.new
end
end
Run Code Online (Sandbox Code Playgroud)
Tha*_*you 24
对于每个请求,你确实得到了一个新的实例ApplicationController,但是这里的重要禁忌是你试图在ActionController::Base#initialize不调用父行为的情况下覆盖核心行为.
ApplicationController < ActionController::Base
def initialize
super # this calls ActionController::Base initialize
init_foo
end
private
def init_foo
@foo = Foo.new
end
end
Run Code Online (Sandbox Code Playgroud)
这不是惯用的Rails行为.他们给你before_filter一个理由; 所以使用它.
| 归档时间: |
|
| 查看次数: |
7837 次 |
| 最近记录: |