在我的Rails应用程序的控制器中,我可以这样做:
before_filter :login_required, :except => :index
但是我想应用过滤器,不仅基于动作名称,还基于请求的格式。换句话说,我想做这样的事情:
before_filter :login_required, :except => {:action => :index, :format => :js}
这可能吗?
在我的Rails应用程序的控制器中,我可以这样做:
before_filter :login_required, :except => :index
但是我想应用过滤器,不仅基于动作名称,还基于请求的格式。换句话说,我想做这样的事情:
before_filter :login_required, :except => {:action => :index, :format => :js}
这可能吗?
3条答案
按热度按时间62lalag41#
你需要自己做一点。试着从这个开始。
jv2fixgn2#
记住,你也可以将lambda提取到一个方法中。这有助于提高可读性。它还可以更容易地在多个过滤器上使用相同的检查。
dkqlctbz3#
另一种方法,我认为比公认的答案更简洁,是使用带有lambda的
if
或unless
选项。我只是喜欢将方法名称作为符号列出,以便与其他控制器过滤器一起标准化。这在Rails 3和更高版本中有效。