如何在无效登录时显示错误消息并返回ruby sinatra中的用户名和密码屏幕

时间:2015-10-20 05:57:39

标签: ruby sinatra

我想要做的是能够输入我选择的错误消息,如果用户名/密码组合错误我可以制作另一个视图,但希望能够返回登录屏幕,如果不得不去到一个无效的登录视图我知道必须有一些简单的我可以在下一行后添加:登录但是当我把"这是一个示例错误消息"或类似的东西,它只是显示它而不是让我回到登录屏幕。

post '/login' do
    authenticate
    if @auth == 1
        erb :main
    else 
        erb :login
    end
end

1 个答案:

答案 0 :(得分:0)

我发现了我的问题我不再重定向了,我在代码中添加了一个参数

Post '/login' do authenticate if @auth == 1 erb :main else erb:login,:locals => {:message => "Failed"} end end and

get '/login' do erb :login ,:locals => {:message => "!!Type in your username and password!!"}

并在我的视图文件中

<form action="/login" method="POST">
<input class="login" type="text" name="username" value="Username"><br>
<input class="login" type="password" name="password" value="Password"><br>
<input class="submit" type="submit" value="Submit...If you dare">
<form action="/login" method="POST">
<%=message%>

</form>