初始化新模型对象时,我得到一条空的活动记录。
2.3.0 :030 > user = User.new
=> #<User >
2.3.0 :031 >
当我访问模型中存在的属性时,它会返回一个错误,例如
2.3.0 :031 > user.UsersName
NoMethodError: undefined method `UsersName' for #<User >
用户型号:
class User < ActiveRecord::Base
attr_accessible :UserName, :Password, :RoleId, :EmployeeId, :Password_confirmation
end
请确保以下任一为真:
- 模型
User
继承自ActiveRecord::Base
,并且users
表中有一个列UserName
。但是,按照惯例,我们不应该以大写字母开头的属性名称。
编辑 - 您可以从"用户名"中跳过"用户",因为它是多余的,并将其替换为user.name
。为此,您应该在表中users
列name
,并且不需要在模型中定义任何其他内容。
-
如果不是上述情况,那么您必须有一个
attr_accessor :UserName
或 -
您必须有一个方法
def UserName
。不确定大写字母在这里是否有效。
另外,我建议您定义以小写字母开头的所有字段。
您的模型声明UserName
可访问,但您正在调用UsersName
( user.UsersName
)。
你试过user.UserName
吗?