导轨固定装置和功能测试

时间:2011-06-22 02:51:55

标签: ruby-on-rails functional-testing

我有一个基于railscasts身份验证的用户脚手架,它从头开始使用密码属性,我怎么能让测试通过并使密码不是表格中的字段,而密码_hash和password_salt是? 我在模型中有以下代码,它是我认为导致用户不增加的第一行。我该如何解决这个问题?

validates_presence_of :password, :on => :create
validates_confirmation_of :password

我认为我发现了这个问题,但不知道如何修复它。我调用以下代码,它不包括密码或password_confirmation,即使我尝试将其添加到属性。

post :create, user: @user.attributes

1 个答案:

答案 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使用它们。