使用Ruby on Rails,我想在过滤操作之前,但仅在用户登录时才这样做.
这怎么可能?
now*_*owk 18
before_filter :only_when_user_is_logged_in, :only => :the_action
Run Code Online (Sandbox Code Playgroud)
或多个
before_filter :only_when_user_is_logged_in, :only => [:the_action, :another_action]
Run Code Online (Sandbox Code Playgroud)
另一方面,您也可以提供:except => :this_action选项
Mic*_*igh 16
我想你只是在用户登录时才会询问如何运行 before过滤器.没有内置的语义,但内联很容易:
class SomeController < ApplicationController
before_filter :do_something
def do_something
if logged_in?
# the stuff you want to do
end
end
end
Run Code Online (Sandbox Code Playgroud)
小智 11
在过滤器之前使用一个可选块,该块传递给当前控制器实例,因此您可以执行以下操作:
before_filter :do_stuff, lambda { |controller| controller.logged_in? }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27891 次 |
| 最近记录: |