rails 3:显示链接为按钮?

jpw*_*ynn 33 ruby-on-rails button hyperlink

在一些非表单页面上,我有一些链接看起来更像按钮而不是超链接......

我认为button_to而不是link_to会起作用,但buton_to似乎总是被视为一个帖子.

有一种简单的方法可以简单地用按钮替换(非提交)链接吗?

Pau*_*lan 74

您所要做的就是:method => "get"在button_to的末尾添加一个,以使其被视为链接

button_to方式

用一个 users_path

<%= button_to "BUTTON: link version", users_path, :method => "get" %>
Run Code Online (Sandbox Code Playgroud)

CSS方式

或者不是实际在html中插入一个表单(这就是button_to实际上做的)你可以使用清洁器(从网页设计的角度来看)方法,实际上只是设置链接的样式,使其看起来像一个按钮几个好处

  • 当表单真的不应该存在时,将表单保留在HTML之外
  • 保持你的erb清洁和正常,没有惊喜
  • 非常灵活,你可以让它们看起来像你想要的那样
  • 这是一篇关于如何做到这一点的精彩文章,这里有一小段代码,实际上只取决于玩边框,填充和背景图片

    a.button {
      background: transparent url('bg_button_a.gif') no-repeat scroll top right;
      color: #444;
      display: block;
      float: left;
      font: normal 12px arial, sans-serif;
      height: 24px;
      margin-right: 6px;
      padding-right: 18px; /* sliding doors padding */
      text-decoration: none;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    代码来自上面的链接.无论你选择哪种方法都应该工作正常,享受!


    小智 13

    我想你想要的就是正义观点.如果是这种情况,那么您只需在链接中向类对象添加一个类

    <%= link_to 'Add Class', new_subject_path, class: "btn btn-primary"%>

    • 您可能想提及您使用的类来自 Bootstrap。 (3认同)
    • 这应该是最好的答案. (2认同)

    Rob*_*ert 10

    我最近不得不这样做,因为我的表单对于link_to的行为与使用button_to不同,我需要链接提供的功能.我找到的最佳解决方案根本不使用CSS,而是调用.html_safe来转义ruby代码中的html并正确显示链接作为按钮.你想要做的是:

    <%= link_to "<button>This is a button</button>".html_safe, some_path, :id => "button_id", :class => "button_class" %>
    
    Run Code Online (Sandbox Code Playgroud)

    • 为了将来参考,您可以在处理嵌入式HTML时将块传递给`link_to`帮助程序,它可以成为一个更清洁的解决方案. (3认同)