簡體   English   中英

如何在haml中的link_to標簽中設置ID?

[英]How do I set the ID in a link_to tag in haml?

我試過了

= link_to 'foo', :action => 'bar', :id => 'foobar'

但ID似乎只是修改了href,導致了

<a href="controller/foobar/bar">foo</a>

如何正確設置ID? 也有人可以向我解釋原因:id正在修改href,這樣我才能理解幕后發生了什么?

你必須在hash中放入:action => 'bar'

= link_to 'foo', { :action => 'bar' }, :id => 'foobar'

文檔中有一個示例,它為您提供了相同問題的示例:

CSS的類和ID很容易生成:

link_to "Articles", articles_path, :id => "news", :class => "article"
# => <a href="/articles" class="article" id="news">Articles</a>

使用舊參數樣式時要小心,因為需要額外的文字哈希:

link_to "Articles", { :controller => "articles" }, :id => "news", 
    :class => "article"
# => <a href="/articles" class="article" id="news">Articles</a>

離開哈希會給出錯誤的鏈接:

link_to "WRONG!", :controller => "articles", :id => "news", :class => "article"
# => <a href="/articles/index/news?class=article">WRONG!</a>

這就是為什么你最好使用帶有路徑別名的新參數樣式,而不是明確地調用控制器和動作。

你可以為此使用路徑助手嗎? 這取決於您正確配置的路由。

例如:

= link_to "foo", foo_path, :id => "foobar"

您可以使用link_to標記傳遞參數

= link_to "foo", { :controller => "foo", :id => "foobar"}

要么

= link_to "foo", {:action=> "any-action, ":controller => "foo", :id => "foobar"}

這里你沒有鏈接_tag的參數

暫無
暫無

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

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