我正在通过一个rails教程,当输入的电子邮件地址或密码不正确时,似乎一直停留在我的注册窗口上显示一些错误消息。我在下面包含了我的用户控制器,新用户erb和错误消息erb。任何帮助都会很棒。我觉得我一直在盯着这个,无处可去。在此先感谢您的帮助。
Error_Message erb
<% if @user.errors.any? %>
<div id="error_explanation">
<div class="alert alert-danger">
The form contains <%= @user.errors.count %> errors.
</div>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li> <%= msg %> </li>
<% end %>
</ul>
</div>
<% end %>
用户控制器
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
# Handle a succesful save
else
render "new"
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
end
新用户erb
<%provide(:title, 'Sign up')%>
<h1>Sign up</h1>
<div class="row">
<div class ="col-md-6 col-md-offset-3">
<%= form_for(@user) do |f| %>
<% render 'shared/error_messages' %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :email %>
<%= f.text_field :email %>
<%= f.label :password %>
<%= f.password_field :password %>
<%= f.label :password_confirmation, "Confirmation" %>
<%= f.password_field :password_confirmation %>
<%= f.submit "Create my account", class: "btn btn-primary" %>
<% end %>
</div>
</div>
答案 0 :(得分:4)
只需更改此行:
Yii::$app->user->isGuest
到
true