Rails 返回一条空的活动记录,并且无法初始化模型侧的属性



初始化新模型对象时,我得到一条空的活动记录。

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

请确保以下任一为真:

  1. 模型User继承自ActiveRecord::Base,并且users表中有一个列UserName。但是,按照惯例,我们不应该以大写字母开头的属性名称。

编辑 - 您可以从"用户名"中跳过"用户",因为它是多余的,并将其替换为user.name。为此,您应该在表中usersname,并且不需要在模型中定义任何其他内容。

  1. 如果不是上述情况,那么您必须有一个attr_accessor :UserName

  2. 您必须有一个方法def UserName 。不确定大写字母在这里是否有效。

另外,我建议您定义以小写字母开头的所有字段。

您的模型声明UserName可访问,但您正在调用UsersNameuser.UsersName )。

你试过user.UserName吗?

相关内容

  • 没有找到相关文章

最新更新