将数据属性添加到 rails button_to 时出错

Error when adding data attributes to rails button_to

我正在尝试向 rails 应用程序中的按钮添加数据属性。当我查看应用程序时,出现以下错误。

错误

/app/views/versions/_full.html.erb:60: syntax error, unexpected ',', expecting => ...GI::escape version.plist_url}", class:"download-btn btn-prim... ... ^ /app/views/versions/_full.html.erb:62: syntax error, unexpected ',', expecting => ...ild_number}, version.plist_url, class: 'download-btn btn-pri... ... ^ /app/views/versions/_full.html.erb:62: syntax error, unexpected ',', expecting ')' ...-primary btn-small pull-right', method: :get );@output_buffe... ... ^

查看

<li class="download cols-lg-4 pull-right">
  <% if (version.app[:app_type] == 'ios') %>
    <%= button_to 'Download', data: {build: version.build_number}, "itms-services://?action=download-manifest&url=#{CGI::escape version.plist_url}", class:"download-btn btn-primary btn-small pull-right" %>
  <% else %>
    <%= button_to 'Download', data: {build: version.build_number}, version.plist_url, class: 'download-btn btn-primary btn-small pull-right', method: :get %>
  <% end %>
</li>

切换 button_to 调用中的第二个和第三个参数:

<li class="download cols-lg-4 pull-right">
  <% if (version.app[:app_type] == 'ios') %>
    <%= button_to 'Download', "itms-services://?action=download-manifest&url=#{CGI::escape version.plist_url}", data: {build: version.build_number}, class:"download-btn btn-primary btn-small pull-right" %>
  <% else %>
    <%= button_to 'Download', version.plist_url, data: {build: version.build_number}, class: 'download-btn btn-primary btn-small pull-right', method: :get %>
  <% end %>
</li>

In the docs 你会看到 :data:html_options 的一部分,这是第三个参数。第二个参数通常是按钮的目标,通常是 RESTful 路径或包含操作目标的散列,有时是方法。如果没有块,则 :html_options 是第二个参数之后的所有内容。尝试类似的东西:

<%= button_to 'Download', 
      version.plist_url, 
      data: {build: version.build_number}, 
      class: 'download-btn btn-primary btn-small pull-right', 
      method: :get %>