更新我暂时放弃了这个应用程序,转而使用其他身份验证宝石,这对我来说似乎有点简单。如果你能回答,请随时澄清情况。谢谢!
我正在尝试使用Ruby on Rails并使用'authlogic'gem创建一个简单的应用程序。当我尝试保存新用户(注册)时出现问题。服务器不再响应,rails在项目控制台中发布了这个:
Started POST "/users" for 127.0.0.1 at 2015-07-20 14:39:03
+0200Processing by UsersController#create as HTML
Parameters: {"utf8"=>"?", "authenticity_token"=>"Gk5wycJaDjsKbZ3z5MKtFJc9ITsLMp2EXnFLYlHOOgE=",
"user"=>{"username"=>"aaaaaaaaaaaaaaa", "email"=>"aaaaaaaaa@aaaaa.aa", "password"=>"[FILTERED]",
"password_confirmation"=>"[FILTERED]"}, "commit"=>"Create User"}
在控制台中显示此信息之后,服务器在再次手动启动之前不会响应。然后它实际上自己刷新,显示索引页面并提交用户数据以进行注册。至少我猜它会保存数据,因为浏览器会询问我是否要保存输入用户名的密码。我不知道如何解决这个问题,这是它在下线前发布的唯一内容,没有任何错误或警告标志。我的猜测是,我错过了一些非常微不足道的东西,因为我是Rails的总菜鸟。无论如何,这里有一些代码:
用户控制器:
class UsersController < ApplicationController
def index
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
flash[:notice] = "Registration successful."
redirect_to root_path
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:username, :password, :email, :password_confirmation)
end
end
routes.rb文件:
Rails.application.routes.draw do
resources :users
root 'articles#index'
end
表单模板:
<%= form_for @user do |form| %>
<ul style="list-style-type: none; padding:0px; ">
<li>
<%= form.label :username, "Username" %><br />
<%= form.text_field :username %><br />
</li>
<li>
<%= form.label :email, "E-mail" %><br />
<%= form.text_field :email %><br />
</li>
<li>
<%= form.label :password, "Password" %><br />
<%= form.password_field :password %><br />
</li>
<li>
<%= form.label :password_confirmation, "Password confirmation" %><br />
<%= form.password_field :password_confirmation %><br />
</li>
<li>
<%= form.submit %>
</li>
</ul>
<% end %>
模板文件中有一个错误消息输出部分,但我不认为它与我的问题有关,它可以正常工作。
感谢您的帮助。