「パスワードを忘れた」フォームと「再送信確認」フォームを提供するDevise gemを使用しています。どちらもメールの入力欄と送信ボタンで構成されています。これらの 2 つのフォームを 1 つに結合して、1 つの電子メール フィールドと 2 つの送信ボタンのみを作成したいと考えています。「パスワードのリセット」または「確認の再送信」ボタンが押されたかどうかに応じて、フォームは関連付けられたアクションに送信されます。
更新: 基本的に、次の 2 つの形式が必要です。
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.submit "Send me reset password instructions" %></div>
<% end %>
<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.submit "Resend confirmation instructions" %></div>
<% end %>
f.label :email 入力を共有しますが、ボタンが押されたアクションに投稿します。たとえば、ボタンを押す:email
と値が送信され、 f.submit "パスワードのリセット手順を送信してください" を押すと、値が に送信されます。confirmation_path
"Resend confirmation instructions"
:email
password_path(resource_name)