我已经安装了设计,它工作得很好。但我没有得到如何玩设计消息。我经历了设计维基,但我没有得到它。
当用户成功注册时,只需重定向到主页,不显示任何内容。我检查了devise.en.yml,发现了这个:
signed_up_but_unconfirmed: 'A message with a confirmation link has been sent to your email address. Please open the link to activate your account.'
想在注册重定向的主页上显示此内容。
我的注册控制器是:
class RegistrationsController < Devise::RegistrationsController
def new
resource = build_resource({})
resource.build_profile
respond_with resource
end
end
我的sign_up表单是:
<div class = "form-signin">
<h2 class="form-signin-heading">Please sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<%= f.email_field :email, :autofocus => true, :class => "input-block-level", :placeholder => "Email address" %>
<%= f.password_field :password, :class => "input-block-level", :placeholder => "Password" %>
<%= f.password_field :password_confirmation, :class => "input-block-level", :placeholder => "Retype the password" %>
<div><%= f.submit "Sign up", :class => "btn btn-large btn-primary" %></div>
<% end %>
<%= render "devise/shared/links" %>
</div>
</div>
如何在主页上收到此消息?
答案 0 :(得分:2)
引用来自devise github页面:
请记住,如果登录,Devise会使用Flash消息让用户知道 成功或失败。 Devise希望您的应用程序可以打电话 “flash [:notice]”和“flash [:alert]”视情况而定。
注册控制器的创建操作将在flash [:notice]中设置devise.en中的signed_up_but_unconfirmed消息并重定向。 在重定向页面上,在您的情况下是主页,您将在flash [:notice]中显示消息,并且必须显示该消息。
<%= flash[:notice] unless flash[:notice].blank?%>
将其添加到您的主页,将显示:通知闪光消息(如果有)。
我建议您在所有布局中显示Flash消息,以便无论重定向的页面如何,都会向用户显示从设计控制器设置的任何Flash消息。
答案 1 :(得分:1)
您需要在布局文件中添加警告处理程序,如下所示
<% if (notice and notice.length > 0) or (alert and alert.length > 0) %>
<% if notice %>
<%= notice %>
<% end %>
<% if alert %>
<%= alert %>
<% end %>
<% end %>
答案 2 :(得分:0)
通常在您自定义root_path时发生,以下步骤将帮助您解决问题:
确保您的= flash[:notice]
中有application.html.haml
覆盖注册控制器
rails g devise:controllers users -c=registrations
如果您在模型中使用confirmable
模块,例如,在registratons_controller中取消注释以下方法;
def after_inactive_sign_up_path_for(resource)
new_user_session_path
end
OR
如果不使用可确认模块,则仅使用sing_up_path_for方法。
def after_sign_up_path_for(resource)
new_user_session_path
end