我开始学习Ruby on Rails,我有些疑惑。
我已经看到了Rails documentation,但我完全不了解:
之间的区别我如何使用/发现我的应用程序的路径?此外,我可以在路径中发送参数,例如:
<%= users_path + "/user.id/" %>
有类似的吗?
答案 0 :(得分:9)
url_for
为您提供网站的完整网址,例如:www.example.com/my/path
来自url_for my_path_url
。
link_to
为您提供指向特定路径的链接,例如:
link_to example_path,"click me"
会导致
<a href="www.example.com/my/path">click me</a>
你也可以像url_for
一样使用它:
link_to url_for(my_resource_path)
resource_path
用于引用routes.rb
文件中的路径。例如,如果你有
match '/my/:id/page' => 'my#page'
您可以使用my_page_path(...)
。
如果路径需要:id
,您可以将其作为参数传递给resource_path
,如下所示:my_page_path(current_user.id)
。
此外,您只需将其附加到预设路线参数即可添加其他查询参数:
my_page_path(current_user.id,:hello => "world")
您询问是否可以向现有路径添加路径。是的,您可以,因为这些函数只是将字符串返回给调用者,所以对于所有意图和目的,只要该路径与您的字符串与正确的路径共轭,您就可以完成您所写的内容。