有没有办法检查 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