如何在haml中的link_to标签中设置ID?

jjc*_*jcm 2 haml ruby-on-rails

我试过了

= link_to 'foo', :action => 'bar', :id => 'foobar'
Run Code Online (Sandbox Code Playgroud)

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

<a href="controller/foobar/bar">foo</a>
Run Code Online (Sandbox Code Playgroud)

如何正确设置ID?也有人可以向我解释原因:id正在修改href,这样我才能理解幕后发生了什么?

Pig*_*ras 8

你必须放:action => 'bar'入哈希.

= link_to 'foo', { :action => 'bar' }, :id => 'foobar'
Run Code Online (Sandbox Code Playgroud)

有一个在一个实例文档是把一个例子与你同样的问题:

CSS的类和ID很容易生成:

link_to "Articles", articles_path, :id => "news", :class => "article"
# => <a href="/articles" class="article" id="news">Articles</a>
Run Code Online (Sandbox Code Playgroud)

使用旧参数样式时要小心,因为需要额外的文字哈希:

link_to "Articles", { :controller => "articles" }, :id => "news", 
    :class => "article"
# => <a href="/articles" class="article" id="news">Articles</a>
Run Code Online (Sandbox Code Playgroud)

离开哈希会给出错误的链接:

link_to "WRONG!", :controller => "articles", :id => "news", :class => "article"
# => <a href="/articles/index/news?class=article">WRONG!</a>
Run Code Online (Sandbox Code Playgroud)

这就是为什么你最好使用带有路径别名的新参数样式,而不是明确地调用控制器和动作.