0

ユーザーがそのビューから適用するとアカウントが生成され、ユーザーがログインすると、ユーザーが資格情報を残すことができる適用ビュー(インデックスページ)があります。概要ページが表示されます(ページの作成)

しかし、彼がすでにログインしていて、「私たちはあなたのパスワードを...に送信しました.

だから私は次のようにしました:

  <% unless user_signed_in? %> 
    <div class="row">
      <div class="three columns">
        <strong><%= t("apply.create.labels.password") %></strong>:
      </div>
      <div class="nine columns">
        <%= t("apply.create.labels.emailed_password_html", :link => mail_to(@user.personal_info.e_mail))%>
        <%= link_to(t("apply.create.labels.choose_password"), user_profile_path) %>
      </div>
    </div>
    <!-- Try to Sign in User -->
    <% priv_sign_in %>
   <% end %>

このコードが原因です。ユーザーが適用すると、@user 情報が入力されますが、ビューのこの部分が生成された後にのみログインできます。

私の applycontroller create では、priv_sign_in を行うために次のようにしています。

 # Helpers
  helper_method :priv_sign_in

  # Sign in User from View
  private
  def priv_sign_in
    sign_in(@user)
  end

何か良い方法はありますか?そのため、物事をより明確にするために。

作成ビューに入るとき、これを行う必要があります。

ユーザーがログインしている場合 --> ビューの一部を非表示 ユーザーがログインしていない場合 --> ビューの一部を表示してログインを試みる

不明な点がある場合は、質問してください。どうもありがとうございました。:)

4

1 に答える 1