我有一个基于railscasts身份验证的用户脚手架,它从头开始使用密码属性,我怎么能让测试通过并使密码不是表格中的字段,而密码_hash和password_salt是? 我在模型中有以下代码,它是我认为导致用户不增加的第一行。我该如何解决这个问题?
validates_presence_of :password, :on => :create
validates_confirmation_of :password
我认为我发现了这个问题,但不知道如何修复它。我调用以下代码,它不包括密码或password_confirmation,即使我尝试将其添加到属性。
post :create, user: @user.attributes
答案 0 :(得分:1)
在控制器中设置密码,如下所示:
@user = User.new
@user.name = params[:user][:name]
@user.password = params[:user][:password]
如果您仍想这样做:
@user = User.create(params[:user])
将此行添加到用户模型:
attr_accessible :password
请注意,attr_accessible可能会导致安全漏洞。了解有关attr_accessible&的更多信息attr_protected使用它们。