将CSS类添加到rails link_to helper

我正在尝试使用下面的代码使用css来设置rails链接的样式:

<%= link_to "Learn More", :controller => "menus", :action => "index", :class => "btn btn-inverse" %> 

我希望这会创build一个如下所示的链接:

 <a href="menus/" class="btn btn-inverse">Learn More</a> 

相反,铁轨正在渲染 –

 <a href="/menus?class=btn+btn-inverse">Learn More</a> 

有没有其他人有这个问题/知道我在做什么错了? 我知道我可以通过手动创build锚标记而不是使用帮助来避免这个问题,但是我想知道是否有办法将css类信息传递给帮助程序本身。 我正在使用Rails 3.2.6。

谢谢!

你有一个语法问题。 试试这个:

 <%= link_to "Learn More", {controller: "menus", action: "index"}, class: "btn btn-inverse" %> 

有些文档可以帮助你进一步学习link_to Helper

他们说:

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

 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> 

我build议你使用路由configuration后生成的URL助手 。 在你的情况下:

 link_to "Learn More", menus_path, :class => "btn btn-inverse" 

对助手的一些提示产生了:

 # routes.rb resources :users # any view/controller users_path #=> /users edit_user_path(user) #=> /users/:id/edit user_path(user) #=> /users/:id (show action) new_user_path(user) #=> /users/new 

尝试新的参数约定:

 <%= link_to 'Learn More', 'menus#index', class: 'btn btn-inverse' %> 

顺便解决了我的问题

 <%= link_to image_tag("imageexamplo.png", class: 'class or id examplo css'),{controller: "user" , action: "index"}%>