如何将<%= link_to"Upgrade",:settings,:class =>"button"%>转换为Rails 3中的块?

mar*_*ion 6 ruby-on-rails ruby-on-rails-3

我想产生这个链接:

<a href="/settings" class="button"><span class="magnifier icon"></span>Search</a>
Run Code Online (Sandbox Code Playgroud)

所以据我所知,我必须转换

<%= link_to "Upgrade", :settings, :class => "button" %>
Run Code Online (Sandbox Code Playgroud)

到了一个区块,但当我这样做时:

<%= link_to "Upgrade", :settings, :class => "button" do %>
   <span class="magnifier icon">Search</span>
<% end %>
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

undefined method `stringify_keys' for :settings:Symbol
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时:<%= link_to "Upgrade", :settings, :class => "button" %>它完美无缺.

如何将其转换为块?

Mat*_*chu 13

使用块时,第一个参数不再包含链接内容.该块负责.因此,它认为这"Upgrade"是您的链接的目的地,:settings是您的选项哈希.

移除"Upgrade"并将其放入块中.