rails 3:显示链接为按钮?

时间:2011-06-06 03:18:43

标签: ruby-on-rails button hyperlink

在某些非表格页面上,我有一些链接看起来比按钮更好...

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

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

3 个答案:

答案 0 :(得分:72)

您只需在button_to的末尾添加:method => "get"即可将其视为链接

button_to Way

使用users_path

<%= button_to "BUTTON: link version", users_path, :method => "get" %>

CSS Way

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

  • 将表单保留在HTML之外,当它们真的不应该存在时
  • 保持你的erb干净正常,没有惊喜
  • 非常灵活,你可以让它们看起来像你想要的那样
  • Here is a great article on how to do it这里有一小段代码,实际上只取决于玩边框,填充和背景图片

    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;
    }
    

    代码来自上面的链接。无论你选择哪种方法都应该可以正常使用,享受!

    答案 1 :(得分: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" %>
    

    答案 2 :(得分:1)

    如果您只想让链接看起来像一个按钮。

    我需要将link_to更改为button_to