在用户点击登录按钮进行登录时,在登录表单中,登录表单通过会话资源调用创建操作。
以下是行动:
def create
user = User.find_by_email(params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
#Sign the user in and redirect to user's main page
else
flash[:error] = "Invalid email/password combination"
render 'new'
end
end
虽然闪光[:错误]无效。
我尝试在静态页面控制器中放置一个'flash [:notice]',以便在主页重定向到时闪烁通知,尽管这也不起作用。
我的测试套装给了我这个错误
Failure/Error: it { should have_selector('div.alert.alert-error', text: 'Invalid') }
expected css "div.alert.alert-error" with text "Invalid" to return something
这是我的CSS的问题吗?
感谢您的帮助!
答案 0 :(得分:2)
你可能不得不使用flash.now [:error],因为你正在渲染视图。
flash.now[:error] = "Invalid email/password combination"
答案 1 :(得分:2)
您是否添加了代码以在布局或视图模板中显示Flash?
看起来您可能正在使用Bootstrap,因此您可以在布局文件(views/layouts/application.html.erb
或其他布局)中执行与此类似的操作:
<% flash.each do |key, message| %>
<div id="flash-<%= key %>" class="alert alert-<%= key %> fade in">
<button class="close" data-dismiss="alert">×</button>
<%= message %>
</div>
<% end %>