`button_tag`而不是`submit_tag`

时间:2015-08-03 12:16:52

标签: ruby-on-rails html5 ruby-on-rails-4

我想在表单提交按钮中添加一个glyphicon。在submit_tag内不能包含字形,因此我使用了button_tag

但是,在某些形式中,我有不同的submit_buttons(如preview | for_real),我使用了:

button "commit"
控制器中的

消息具有特定操作:

if params[:commit] == 'Preview'

仅适用于submit_tag

1。我想了解两者之间的区别。

Rails submit_tag

submit_tag "Edit this article"
# => <input name="commit" type="submit" value="Edit this article" />

button_for

<%= button_tag(type: "submit", class: "btn btn-default") do %>
    Edit this article <i class="icon-repeat"></i>
<% end %>

区别仅在于input还会提交不允许使用HTML / glyphicons的提交消息吗?

2。在内部使用glyphicon进行submit_tag行为(提交消息)的解决方法是什么?

或者不建议使用commit值,还应该使用其他适用于button_tag的内容吗?

1 个答案:

答案 0 :(得分:4)

解决方案是button_tag解决方案实际上没有问题。因此submit_tag只是无用(直到我发现它比button_tag有其他优点)。

button_tag(name: 'commit', type: 'submit', value: 'Edit this article')
button_tag(name: 'commit', type: 'submit', value: 'Publish')

虽然这些都在HTML中呈现为<button>,但只会传递被点击的值!