[英]link_to helper not rendering the correct URL for a model
我有一個Request
模型。 在我的一種觀點中,我試圖呈現指向它的鏈接。
我嘗試的第一件事是:
.requests-container
= link_to request, class: "request-link"
以下鏈接呈現為<a href="/requests?class=request__title">My request 1</a>
。 URL中混合了class
選項。 但是,這是可以理解的,因為link_to
似乎期望將URL作為第二個參數。
在那之后,我嘗試了這個版本:
.requests-container
= link_to request
但是,結果卻變得更加陌生,因為生成的鏈接如下: <a href="/requests">My request 1</a>
。
在此鏈接中, href
屬性生成為/requests
而非此ActiveRecord對象的預期URL /requests/2
。
更奇怪的是,我接下來的嘗試
.requests-container
= link_to request, request, class: "request-link"
產生了一個完全有效的鏈接: <a class="request-link" href="/requests/2">My request 1</a>
。 這是預期的鏈接,並且工作正常。
這是Rails中的已知行為嗎? 我的代碼中還有其他部分,我剛剛使用過link_to <activerecord object>
,並且效果很好,所以我不確定為什么在這種情況下它不起作用。
link_to將第一個參數作為鏈接的body
,它將顯示在視圖上,第二個參數是實際的URL
當你嘗試
= link_to request, class: "request-link"
以class: "request-link"
為params
但是在第二種情況下,您實際上將object
作為第二個參數傳遞了
= link_to request, request, class: "request-link"
這里的第三個參數在options
哈希下
如果您看一下文檔 ,將會發現此示例
link_to(body, url, html_options = {})
# url is a String; you can use URL helpers like
# posts_path
從上面的示例中可以明顯看出,第一個,第二個和第三個參數分別是body
, url
和html_options
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.