<%= link_to 'New Post', new_post_path %>
这会生成new_post_path
的链接。以前我使用的<input type="submit" class="new" name="Addlist" value="Add New" />
类似按钮。那么如何让链接看起来像erb中的按钮?
答案 0 :(得分:12)
由于我遇到了button_to选项不起作用的情况,因此只想抛出另一个选项。这看起来有点类似。
<%= link_to '<button type="button">New Post</button>'.html_safe, new_post_path %>
我基本上想要的是一个不会变成提交的按钮,因为我在页面上有多个与表单无关的按钮,我真的只想让它转到另一个页面。 / p>
答案 1 :(得分:10)
看看button_to。总之,它将与此类似:
<%= button_to "New Post", { :action => "new" }, :method => :get %>
虽然请注意,此方法会接受:method
文档中描述的:confirm
和link_to
修饰符。如果未给出:method
修饰符,则默认执行POST
操作。您也可以在:disabled => true
中传递html_options
来停用该按钮。如果您使用的是RESTful路由,则可以传递:method
来更改用于提交表单的HTTP动词。
答案 2 :(得分:6)
@ Ryan的答案很好,但很遗憾失败 html验证http://validator.w3.org/
错误:元素按钮不得作为a元素的后代出现。
为什么不简单地将(CSS) 类 应用于您的链接,并将其显示为作为按钮。
ERB:
<%= link_to "Button Text", new_post_path, class: 'button' %>
生成(有效&amp; 语义)HTML:
<a class="button" href="/post/new">Button Text</a>
然后您可以样式到看起来像一样按钮。