error.full_messages是隐藏的,我无法弄清楚为什么

时间:2015-04-29 10:43:24

标签: ruby-on-rails ruby railstutorial.org

我正在通过一个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>

1 个答案:

答案 0 :(得分:4)

只需更改此行:

Yii::$app->user->isGuest

true