【问题标题】:Use button_to for external link via GET通过 GET 使用 button_to 进行外部链接
【发布时间】:2025-12-23 08:10:15
【问题描述】:

作为测试,我同时使用了link_tobutton_to,但只有前者有效。对于后者,看起来参数没有通过,因为我从 Facebook 收到一个错误,说没有client_id,而 URL 中肯定有。

链接到代码:

<%= link_to "test", @auth_url %>

<!-- rendered HTML -->
<a href="https://www.facebook.com/v2.0/dialog/oauth?client_id=XYZ...">test</a>

button_to 代码:

<%= button_to @auth_url, method: :get, class: "btn btn-block btn-lg btn-social btn-facebook", style: "color:white" do %>
   <i class="fa fa-facebook horiz"></i> Invite me with Facebook
<% end %>

<!-- rendered HTML -->
<form action="https://www.facebook.com/v2.0/dialog/oauth?client_id=XYZ..." class="button_to" method="get">
  <div>
    <button class="btn btn-block btn-lg btn-social btn-facebook" style="color:white" type="submit">
      <i class="fa fa-facebook horiz"></i> Invite me with Facebook
    </button>
  </div>
</form>

我想使用button_to,因为我想要一个按钮...但如果无法使其正常工作,我可以设置链接的样式。

谢谢!

【问题讨论】:

    标签: ruby-on-rails-4 link-to urlhelper button-to


    【解决方案1】:

    在这种情况下,我发现在不同浏览器中设置按钮样式存在很多问题,我最终只使用了这样的 Javascript:

    $("#inviteme3").click(function() {
      var link_string = '<%= @auth_url %>';
      var decoded = link_string.replace(/&amp;/g, '&');
      location.href = decoded
      return false;
    });
    

    【讨论】: