1
我在Ruby on Rails中遇到了我的用户注册表单问题。 我之前只使用用户名,电子邮件和密码工作。但是,当我尝试添加名字,姓氏和邮政编码的字段时,它停止将任何数据插入到数据库中,并且只是重定向回注册表单。Ruby on Rails中破坏的用户注册表格
我做到了正确的方式生成迁移和迁移数据库 - 表单仍然无法正常工作。
然后,我完全丢弃了数据库,并重新创建了包含所有字段的数据库,但它仍然不起作用。数据库使用正确的字段正确生成,并且我不确定断开连接的位置。
我使用红宝石2.3.1。
用户控制器:
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
redirect_to '/home'
else
redirect_to '/register'
end
end
private
def user_params
params.require(:user).permit(:username, :email, :password, :location, :fname, :lname)
end
end
用户模式:在用户
class User < ApplicationRecord
has_secure_password
end
窗体/新:
<div class="container">
</div>
<div id="contact" class="container-fluid bg-grey">
<h2 class="text-center">Create An Account</h2>
<form>
<%= form_for(@user) do |f| %>
<%= f.text_field :username, :placeholder => "Username" %>
<%= f.email_field :email, :placeholder => "Email" %>
<%= f.password_field :password, :placeholder => "Password" %><br/><br/>
<%= f.text_field :fname, :placeholder => "First Name" %>
<%= f.text_field :lname, :placeholder => "Last Name" %>
<%= f.number_field :location, :placeholder => "ZIP Code (US Only)" %><br/><br/>
<%= f.submit "Create an Account", class: "btn-submit" %>
<% end %>
</div>
</ul>
</nav>
</body>
</html>
创建用户迁移:
class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table :users do |t|
t.string :username
t.string :email
t.string :password_digest
t.numeric :location
t.string :fname
t.string :lname
t.timestamps
end
end
end
从日志:
Started GET "/register?utf8=%E2%9C%93&authenticity_token=b6M1gpQx8BTLhBqjjh6R%2BlSGghcSh18Mg7eGskLGNyq11RBvGCX%2BOJjVhSLwwRmZunn1sYvV4MGHB7vrJw6Rhg%3D%3D&user%5Busername%5D=jsmith1&user%5Bemail%5D=jsmith%40email.com&user%5Bpassword%5D=[FILTERED]&user%5Bfname%5D=John&user%5Blname%5D=Smith&user%5Blocation%5D=60606&commit=Create+an+Account" for ::1 at 2016-11-07 15:14:50 -0600
Processing by UsersController#new as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"b6M1gpQx8BTLhBqjjh6R+lSGghcSh18Mg7eGskLGNyq11RBvGCX+OJjVhSLwwRmZunn1sYvV4MGHB7vrJw6Rhg==", "user"=>{"username"=>"jsmith1", "email"=>"[email protected]", "password"=>"[FILTERED]", "fname"=>"John", "lname"=>"Smith", "location"=>"60606"}, "commit"=>"Create an Account"}
Rendering users/new.html.erb within layouts/application
Rendered users/new.html.erb within layouts/application (2.0ms)
Completed 200 OK in 195ms (Views: 148.1ms | ActiveRecord: 21.5ms)
)
Completed 200 OK in 760ms (Views: 714.8ms | ActiveRecord: 3.5ms)
非常感谢你的任何帮助。
不幸的是,“停止工作”缺乏足够的技术细节来提供帮助。有一些错误吗?究竟发生了什么?通过简单地告诉我们,通过跳过关于实际错误的大型猜谜游戏,帮助您更轻松地帮助您。 – MarsAtomic
你可以发布服务器日志吗? – Monideep
对不起。它不会保存用户并将数据插入数据库,它只是返回到注册表单。 – crackedact0r