9
<%= link_to 'New Post', new_post_path %> 

这会产生指向new_post_path. 以前我用过<input type="submit" class="new" name="Addlist" value="Add New" />它就像一个按钮。那么如何使链接看起来像 erb 中的按钮?

4

3 回答 3

14

只是为了抛出另一个选项,因为我遇到了 button_to 选项不起作用的情况。这看起来有点像那个。

<%= link_to '<button type="button">New Post</button>'.html_safe, new_post_path %>

我基本上想要的是一个不会变成提交的按钮,因为我在页面上有多个与表单无关的按钮,我真的只是希望它只是转到另一个页面。

于 2012-08-16T11:35:07.930 回答
10

看看button_to。总而言之,它将与此类似:

<%= button_to "New Post", { :action => "new" }, :method => :get %>

尽管请注意,此方法接受文档中描述的:methodand:confirm修饰符。link_to如果没有:method给出修饰符,它将默认执行一个POST操作。你也可以通过传入来禁用:disabled => true按钮html_options。如果您使用的是 RESTful 路由,则可以传递:method来更改用于提交表单的 HTTP 动词。

于 2012-08-16T11:08:53.183 回答
8

@Ryan 的回答很好,但遗憾的是html 验证失败http://validator.w3.org/

错误:元素按钮不得作为 a 元素的后代出现。

为什么不简单地将(CSS)应用于您的链接并使其显示为按钮。

erb:

<%= link_to "Button Text", new_post_path, class: 'button' %>

产生(有效语义)HTML:

<a class="button" href="/post/new">Button Text</a>

然后您可以将其设置看起来像一个按钮。

示例: http: //jsfiddle.net/nelsonic/FQK​​9M /7/

于 2013-12-16T13:59:33.247 回答