私はJavaの開発者ですが、私のチームは私の製品のためのSSOマイクロサービスをレールに開発していますので、私は勉強しています。私のパスワードを忘れてしまったカスタムフィールドを追加するには?
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
<%= devise_error_messages! %>
<div class="row">
<div class="medium-12 small-12">
<div class="field">
<%= f.label :email, class: 'field-label' %>
<%= f.email_field :email, autofocus: true %>
</div>
</div>
</div>
<div class="row">
<div class="actions columns medium-12 small-12">
<%= f.submit "Send", id: "send-button" %>
</div>
</div>
<div class="row text-center align-center">
<div class="small-8 small-centered columns">
<br><p id="form-subheading">* For security reasons, we do NOT store your password. We will NEVER send your password via email.</p>
</div>
</div>
<% end %>
そして、それが正常にclass Users::PasswordsController < Devise::PasswordsController
# POST /resource/password
def create
super
end
に次の関数を通過:
は現在、私は、ユーザーがこのフォームに自分の電子メールを入力したときに、パスワードの確認がリセット送信するように設定しています
問題は今、フォームに電子メールを送信する前に、次のfirst_name
フィールドとlast_name
フィールドをフォームに追加してユーザーモデルに対して認証する必要がありますが、それらはパラメータを無視していますrs完全に。明らかにどこかで小切手が必要ですが、どこから始めたらいいか分かりません。
<div class="row">
<div class="medium-5 small-12">
<div class="field">
<%= f.label :first_name, class: 'field-label' %>
<%= f.text_field :first_name %>
</div>
</div>
<div class="medium-6 medium-offset-1 small-12">
<div class="field">
<%= f.label :last_name, class: 'field-label' %>
<%= f.text_field :last_name %>
</div>
</div>
</div>
私は関数内byebug
文を置けばparams[:user]
変数は情報が含まれているため、彼らはバックエンドに送信されます知っています。フォームの新しい情報をどのように検証するのかがわかりません。
このフォームのカスタムフィールドを作成する際の助けに感謝します。