在Rails中访问URL的页面名称/最终部分

时间:2012-02-08 14:06:24

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

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

如果您可以很好地控制您的网址(这意味着如果您知道网址末尾的内容类型),您可以使用params哈希,:controller:action密钥可能会让您感兴趣。

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

答案 2 :(得分:0)

您可以使用request.path它将提供整个数据,之后您可以使用split函数,然后您可以将值保存在不同的变量中。这里我使用了两个变量。您可以根据需要使用更多变量<登记/>  资源,id = request.path.split('/')[1,2]