登录时出现simple_form问题
首先,我对rails非常陌生 – 我正在玩一个小的登录应用程序,如果它全部工作并决定尝试简单的forms – 但是我不能让我的登录表单与gem一起工作。
这就是我的工作和工作;
Log In
以下是我尝试将其更改为使用简单forms的内容。
Log In
sessions_path, :html => { :class => 'form-vertical' } do |f| %> false, :label => 'Email Address',:placeholder => 'Email Address' %> false, :label => 'Password',:placeholder => 'Password' %>
这似乎工作正常,直到我尝试登录 – 当我登录它总是显示我无效的用户名和密码消息 – 我无法弄清楚我在哪里出错了。 任何帮助将非常感激!
谢谢!
在案例1中,您可能正在接收参数: { :email => '...', ....}
,在案例2中, :sessions => { :email => '...', ....}
检查params.inspect
得到它了! 非常感谢Zabba指出我正确的方向;
我的第二种方法有效;
<%= simple_form_for :sessions, :url => sessions_path, :html => { :class => 'form-vertical' } do |f| %> <%= f.input :email, :required =>false, :label => 'Email Address',:placeholder => 'Email Address' %> <%= f.input :password, :required =>false, :label => 'Password',:placeholder => 'Password' %> <%= link_to "Forgotten Password?", new_password_reset_path %>
<%= f.button :submit "Login" %> <% end %>
但是我没有更新我的控制器所以我在哪里;
def create user = User.find_by_email(params[:email]) if user && user.authenticate(params[:password]) ... end
我不得不更新到;
def create user = User.find_by_email(params[:sessions][:email]) if user && user.authenticate(params[:sessions][:password]) ... end
谢谢Zabba!