2013-05-09 70 views
1

我试过如何在haml中的link_to标记中设置ID?

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

但ID似乎只修改HREF,导致

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

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

回答

7

您必须将:action => 'bar'放在哈希中。

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

存在这样把一个例子你同样的问题docs一个例子:

class和id的CSS很容易产生:

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> 

这就是为什么你最好是使用具有路由别名的新参数样式不仅仅是明确地调用控制器和动作。

2

你可以使用路径助手这个吗?这将取决于您的路线配置是否正确。

因此,例如:

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

2

您可以link_to代码传递参数,如

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

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

在这里,你可以不与链接_tag

参数
相关问题