我開始學習Ruby on Rails,我有一些疑惑。link_to vs url_for vs Rails路徑
我已經看到了Rails documentation,但我完全不之間的差異理解:
- url_for
- 的link_to
- 路徑
以及我如何使用/發現我的應用程序的路徑?此外,我可以發送路徑參數,如:
<%= users_path + "/user.id/" %>
有沒有類似的東西?
我開始學習Ruby on Rails,我有一些疑惑。link_to vs url_for vs Rails路徑
我已經看到了Rails documentation,但我完全不之間的差異理解:
以及我如何使用/發現我的應用程序的路徑?此外,我可以發送路徑參數,如:
<%= users_path + "/user.id/" %>
有沒有類似的東西?
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")
你問你是否能路徑添加到現有的路徑。是的,您可以,因爲這些函數只是將字符串返回給調用者,所以對於所有意圖和目的,只要該路徑與您的字符串結合成適當的路線,就可以完成您所寫的內容。
你檢查了嗎? http://guides.rubyonrails.org/routing.html#listing-existing-routes – depa