Ruby on rails 注册后在我的sqlite数据库中写入的问题
我有一个注册界面,需要用户名、电子邮件和密码才能注册。但不知何故,当我想注册一个新用户时,它似乎没有写入数据库。 它将在数据库中创建一个新行,但name和email的赋值为NULL,如下所示。 你知道我在这里遗漏了什么吗 编辑:resp的代码。my user.rb、user_controller.rb和usershelper.rbRuby on rails 注册后在我的sqlite数据库中写入的问题,ruby-on-rails,ruby,sqlite,Ruby On Rails,Ruby,Sqlite,我有一个注册界面,需要用户名、电子邮件和密码才能注册。但不知何故,当我想注册一个新用户时,它似乎没有写入数据库。 它将在数据库中创建一个新行,但name和email的赋值为NULL,如下所示。 你知道我在这里遗漏了什么吗 编辑:resp的代码。my user.rb、user_controller.rb和usershelper.rb class User < ActiveRecord::Base has_many :microposts attr_accessor :nam
class User < ActiveRecord::Base
has_many :microposts
attr_accessor :name, :email
before_save {self.email = email.downcase if email}
validates :name, presence: true, length: {maximum: 50}
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: {maximum: 255}, format: {with: VALID_EMAIL_REGEX}, uniqueness: {case_sensitive:false}
has_secure_password
validates :password, length: {minimum: 6}
end
#
编辑2:附加信息
<p id="notice"><%= notice %></p>
<% provide(:title, @user.name) %>
<div class="row">
<aside class="col-md-4">
<section class="user_info">
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
</section>
</aside>
</div>
<p>
<strong>Name:</strong>
<%= @user.name %>
</p>
<p>
<strong>Email:</strong>
<%= @user.email %>
</p>
<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', users_path %>
名称:
电子邮件:
|
删除此行:
attr_accessor :name, :email
它将覆盖数据库属性,以便将值写入@name和@email,而不是保存到数据库中。要发布代码吗?在没有任何分析的情况下,很难找出问题所在。此外,将帖子的日志粘贴到即将到来的创建操作中。
<p id="notice"><%= notice %></p>
<% provide(:title, @user.name) %>
<div class="row">
<aside class="col-md-4">
<section class="user_info">
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
</section>
</aside>
</div>
<p>
<strong>Name:</strong>
<%= @user.name %>
</p>
<p>
<strong>Email:</strong>
<%= @user.email %>
</p>
<%= link_to 'Edit', edit_user_path(@user) %> |
<%= link_to 'Back', users_path %>
attr_accessor :name, :email