有没有办法检查 Controller 是否存在索引操作?就像是:

Controller.indexActionExists?

我看过帖子检查是否存在特定的路由,但这些方法对我不起作用,因为我的一些索引操作与路由无关。

最佳答案

在这种情况下,action_methods 方法将是最方便的工具,返回方法名称的 Set。试一试下面的代码:

# Get a set of method names belonging to a controller called 'MyController'

methods = MyController.action_methods

if methods.include? "index"
  puts "MyController has an index method"
else
  puts "MyController lacks an index method"
end

10-07 21:35