84

我正在尝试为用户单击后退按钮创建一个 ruby​​ 代码块。我收到错误“/projects/11/steps/4”的错误“未定义的方法‘stringify_keys’:String”。当我摆脱 do 和 end 时,代码有效。如何向 link_to 添加一个 do?

    <%= link_to 'Back', project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>

    <% end %>
4

2 回答 2

208

如果您使用的是块形式,link_to则不能包含文本内容(块是您的文本内容)。你需要这样做:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>
  Back
<% end %>

通常,当您希望将图像或其他标签作为链接的内容时使用。这纯粹是为了展示目的。该块不会为您提供类似 javascript 的功能,因此请确保您在此处寻找其他显示行为:)

于 2013-02-20T17:51:35.063 回答
18

如果您传递一个块,则不要传递链接名称。应该:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %>
  Back
<% end %>
于 2013-02-20T17:53:55.597 回答