gpt4 book ai didi

ruby-on-rails - rails 3 : Get current view's path helper?

转载 作者:行者123 更新时间:2023-12-04 03:50:48 24 4
gpt4 key购买 nike

我有兴趣为我的布局创建一个标准,其中每个 View 都将包装在一个根据特定约定命名的容器中。

举个例子,如果我有:

resources :foos

我希望像这样将 View 包裹在 div 中:

<div id="foos_view"> foos#index here </div>
<div id="foo_view"> foos#show here </div>
<div id="new_foo_view"> foos#new here </div>
<div id="edit_foo_view"> foos#edit here </div>

所以,基本上我想使用路线名称,但用“路径”代替“ View ”。

我的问题是,有什么方法可以获取当前 View 的路由名称吗?

即。如果我的请求是 example.com/foos/new 是否有任何我可以在 View 或 Controller 中调用并返回 new_foo_path 的东西?

谢谢!

最佳答案

我想不出一个简单的方法来做到这一点,因为路径助手只是调用 path_for() 并填写所需的参数,所以没有方法调用来完成它反过来。

但是,这是 Ruby,因此编写一个快速帮助程序来返回您想要的字符串相当容易。可以通过 controller.controller_name 访问当前 Controller 名称,通过 controller.action_name 访问操作名称。

你应该这样做:

def html_id

string = ""

if controller.action_name =~ /new|edit/
string += controller.action_name + "_"
end

if controller.action_name =~ /index|create/
string += controller.controller_name
else
string += controller.controller_name.singularize
end

return string += "_view"

end

关于ruby-on-rails - rails 3 : Get current view's path helper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6468711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com