フォームの横にボタンを配置できますが、type=submit
はありませんか?
私は何か特別なことをしています。私には形があります、
<%= form_for(@user) do |f| %>
このフォームは、セッションの値に基づいてレンダリングされます。
フォームの横には、すでにf.submit
があり、ユーザーが入力をキャンセルしたい場合に、コントローラーからメソッドを呼び出してセッション値を変更するための別のボタン、キャンセルボタンが必要です。
しかし、button_to
を使用すると、ボタンのタイプは「送信」になり、ボタンをクリックすると、フォーム全体が送信されます。値の一部が無効な場合は、文句を言います。思った「キャンセル」ボタンとしては動作しません。
フォームを送信しないボタンを作成できますか?
Submit_tagを使おうとしましたが、ボタンが機能しません...
<%= submit_tag 'Cancel Edit', :type => 'button', :controller => 'my_account', :action=>'cancel_edit' %>
button_to
helper は、実際にはフォーム全体を生成します。
options
のセットによって作成されたURLに送信する単一のボタンを含むフォームを生成します。
だからそれは間違いなくあなたが望むものではありません。 HTMLで単純な<input type="button">
要素を生成したいだけだと思います。ただし、 FormTagHelper
にはbutton_tag
はありませんが、submit_tag
を渡すことができる :type
はあります。オプションとそれは:
その他のキーは、タグの標準HTMLオプションを作成します。
だからこれを試してみてください:
submit_tag 'Pancakes', :type => 'button'
ここで、「パンケーキ」が実際のラベルになります。
次のことを試してください。
<%= button_tag "Cancel", :type => 'button', :class => "subBtn", :onclick => "location.href = '#{list_admin_users_admin_index_path()}'" %>