link_to vs url_for vs Rails中的路径

时间:2013-09-28 04:02:59

标签: ruby-on-rails ruby

我开始学习Ruby on Rails,我有些疑惑。

我已经看到了Rails documentation,但我完全不了解:

之间的区别
  • url_for
  • 的link_to
  • 路径

我如何使用/发现我的应用程序的路径?此外,我可以在路径中发送参数,例如:

<%= users_path + "/user.id/" %>  

有类似的吗?

1 个答案:

答案 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")

您询问是否可以向现有路径添加路径。是的,您可以,因为这些函数只是将字符串返回给调用者,所以对于所有意图和目的,只要该路径与您的字符串与正确的路径共轭,您就可以完成您所写的内容。