Rails link_to在页面加载时生成错误

时间:2015-06-20 23:55:37

标签: ruby-on-rails ruby ruby-on-rails-4

我在视图中有以下代码:

<% if @user.marine? %>
  <div>
    <%= link_to("Close account".html_safe, deactivate_path(@user), method: :patch, 
        html_options = { role: "button", class: "button-small", data: "Are you certain?" 
        }) %>
  </div>
<% end %>

在开发服务器上加载页面时,会在下面生成错误,指的是<% end %>行。

  

语法错误,意外&#39;)&#39;,expecting =&gt; })   ); @ output_buffer.safe_append =
语法错误,意外   keyword_end,期待&#39;)&#39; &#39; .freeze;端

任何人都知道链接代码中的错误是什么以及我应该如何调整它?

我认为这与data: "Are you certain?"部分有关。这应该会弹出一条确认消息。我也试过了confirm: "Are you certain?",但没有区别。

更新:除非我删除整个html_options部分,否则我无法使链接生效。仅删除data: "Are you certain?"部分是不够的。

1 个答案:

答案 0 :(得分:3)

这是一个哈希键,应该有:=>而不是=。请尝试以下操作,将所有html_options分组到一个哈希中,如下所示:

 <%= link_to 'Close account'.html_safe,
              deactivate_path(@user),
              { method: :patch, role: 'button', class: 'button-small', data: { confirm: 'Are you certain?'} } %>