【问题标题】:Accessing Page name / final part of URL in Rails在 Rails 中访问页面名称/URL 的最后部分
【发布时间】:2012-02-08 14:06:23
【问题描述】:

我想从页面中访问页面名称。例如,如果页面是“somesite/contact”,我想获得“contact”。如果是“somesite/signup”,我会得到“signup”等。

显然,我可以使用 request.fullpath 和一些 RegX 将其从页面 URL 中删除,但必须有一种更面向对象的方式来获取它吗?

【问题讨论】:

    标签: ruby-on-rails path controller routes action


    【解决方案1】:

    如果您在视图中,请致电controller.action_name。如果您在控制器中,只需致电action_name。这假定了一个 RESTful 设计。

    【讨论】:

      【解决方案2】:

      如果您对 URL 有很好的控制(也就是说,如果您知道 url 末尾的类型是什么),您可以使用 params 哈希,即:controller:action 键可能会让您感兴趣。

      否则我建议将 request.fullpath 拆分为 '/' 并取最后一个元素。

      【讨论】:

      • 最好取request.path,因为fullpath自带查询参数。
      【解决方案3】:

      您可以使用 request.path 它将给出整个数据,然后您可以使用 split 功能,然后您可以将值保存在不同的变量中。这里我使用了两个变量。您可以根据需要使用更多变量resource, id = request.path.split('/')[1, 2]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-28
        相关资源
        最近更新 更多