0
在这里,在登录视图我有这样的代码:Rails 4:如何在登录视图中生成错误消息?
<p id="notice"><%= notice %></p>
<h1>Log In</h1>
<%= form_tag({controller: "sessions", action: "create"}) do %>
<% if false %>
<% if errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(errors.count, "error") %> unseccessful:</h2>
<ul>
<% errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<% end %>
<div class="field">
<%= label_tag :username %><br/>
<%= text_field_tag :username, params[:username] %><br/>
</div>
<div class="field">
<%= label_tag :password %><br/>
<%= password_field_tag :password %><br/>
</div>
<div class="actions">
<%= submit_tag "Log In" %>
</div>
<% end %>
,如果我输入不正确的用户信息,则应该给从控制器的一些注意事项:
def create
user = User.find_by_username(params[:username])
respond_to do |format|
if user && user.password == params[:password]
session[:user_id] = user.id
format.html { redirect_to root_url, notice: 'Logged In successfully' }
format.json { render :index, status: :created, location: @session }
else
format.html { render :new, notice: "Email or password is invalid" }
format.json { render json: @session.errors, status: :unprocessable_entity }
#flash.now.alert = "Email or password is invalid"
#render "new"
end
end
end
而是它只是重新加载登录页面没有任何通知或错误信息。我是Rails的新手,你知道我能做什么吗?
是的,我现在有“未定义的方法错误”的零:NilClass“错误(我改变了用户到@user,并试图调用@ user.errors.any?它导致发生错误。可以这样做吗? 你是对的教程,我需要尽快完成这个项目。在学习的同时:) –
这很难帮助,因为你的代码有大量的问题,你没有阅读教程正确。我仍然指出了很多问题。所以请仔细阅读教程。 – Deep
我真的不明白我是否应该创建一个form_for @ user或@ session?当我尝试在控制器中创建@session = Sessions.new时,它也会出现错误。你指的是什么教程? –