我想从页面中访问页面名称。例如,如果页面是“somesite / contact”,我想获得“联系”。如果是“somesite / signup”,我会得到“注册”等等。
显然我可以使用request.fullpath和一些RegeX从页面URL中删除它,但是必须有一种更加面向对象的方式来获取它吗?
答案 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]