簡體   English   中英

link_to幫助程序未呈現模型的正確URL

[英]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

從上面的示例中可以明顯看出,第一個,第二個和第三個參數分別是bodyurlhtml_options

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM