Rails:知道调用过滤器/操作的控制器的哪些操作

时间:2015-10-30 10:55:06

标签: ruby-on-rails controller

我目前有我的控制器可以使用此代码运行的过滤器列表:

MyController._process_action_callbacks.select{
  |f| f.filter.is_a? Symbol
}.map(&:filter)

但我也希望过滤他们的行动。即像这样的东西:

MyController._process_action_callbacks.select{
  |f| (f.filter.is_a?(Symbol)
  && f.actions.include?(my_action)) # filter on action
}.map(&:filter)

显然不起作用。我怎样才能做到这一点?

我唯一发现的是使用instance_variable_get('@if'),但这并不令人满意,因为它提供了一个字符串(我可以eval或解析它,但这并不是似乎是惯用的),我也必须为unless部分做。

0 个答案:

没有答案