【问题标题】:How do I get the list of actions available for a controller?如何获取控制器可用的操作列表?
【发布时间】:2012-03-25 09:56:35
【问题描述】:

我做了MyController.methods 它列出了一切……我什至不知道控制器可以做的事情!

如何返回操作列表,例如createeditnewdestroyother_actionother_non_protected_or_private_method

使用 Ruby on Rails 2.3.8

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    不确定this 是否可以在 2.38 中使用,但我认为值得一试:

    引用相关部分:

    要获取控制器中的所有操作,请使用 action_methods

    PostsController.action_methods
    

    这将返回一个 Set,其中包含控制器中所有“动作”方法的列表(使用 Rails 用来确定方法是否是要路由到的有效动作的相同逻辑)。

    【讨论】:

      【解决方案2】:

      使用#instance_methods(false) 仅检索控制器的特定操作:

      CustomController.instance_methods(false)
      => ["index", "update", "show", "custom_action", "another_action"]
      

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多