我有一个应用视图(索引页面),如果用户从该视图应用,用户可以留下他的凭据,将生成一个帐户,用户将登录。将显示一个概述页面(创建页面)
但是,如果他已经登录并应用了“我们已将您的密码发送到...”这句话,则无法在我的视图中显示。
所以我做了以下几点:
<% 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
有没有更好的办法是。所以为了让事情更清楚。
当我进入创建视图时,必须这样做:
如果用户已登录 --> 隐藏部分视图 如果用户未登录 --> 显示部分视图并尝试登录
有不清楚的地方请教一些问题,万分感谢!:)