link_to不起作用,控制器显示为html属性

时间:2015-09-22 20:56:14

标签: ruby-on-rails link-to

我最近2小时一直在谷歌搜索,不幸的是我无法解决这个问题,不过我认为这一定很容易。

<%= link_to 'Log Out', {:controller => 'static_pages', :action => 'index'} do %>
  <i class="glyphicon glyphicon-log-out link-icon"></i>
<% end %>

这是我的代码。因此,我需要“注销”链接以显示注销图标,该图标来自引导程序。但是这段代码的HTML输出是这样的:

<a controller="static_pages" action="index" href="Log Out">
  <i class="glyphicon glyphicon-log-out link-icon"></i>
</a>

我尝试了很多方法来解决这个问题,但我也尝试删除“do”所以,我可以看看是否会导致问题。这是我删除“do”后的链接:

<%= link_to 'Log Out', {:controller => 'static_pages', :action => 'index'} %>

HTML输出是:

<a href="/">Log Out</a>

没有意义。因为我的页脚中有相同的link_to并且它有效。页脚:

<%= link_to 'Log In', {:controller => 'users', :action => 'login'} %>

页脚输出:

<a href="/users/login">Log In</a>

那么,为什么这不适用于另一个页面?谢谢。

1 个答案:

答案 0 :(得分:1)

当你将一个块传递给link_to帮助器时,这将是它的一个主体。

<%= link_to :controller => 'static_pages', :action => 'index' do %>
  <i class="glyphicon glyphicon-log-out link-icon"></i>
  Log Out
<% end %>