Рельсовые светильники и функциональные испытания - PullRequest
1 голос
/ 22 июня 2011

У меня есть пользовательский эшафот, основанный на аутентификации Railscasts с нуля, и он использует атрибут пароля, как я могу позволить тесту пройти и сделать свои приборы с паролем не являющимися полем в таблице, в то время как password_hash и password_salt? У меня в модели следующий код, и это первая строка, которая, по моему мнению, не увеличивает пользователя. Как я могу это исправить?

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

Я думаю, что нашел проблему, но понятия не имею, как ее исправить. Я вызываю следующий код, и он не включает пароль или password_confirmation, хотя я пытаюсь добавить его к атрибутам.

post :create, user: @user.attributes

1 Ответ

1 голос
/ 22 июня 2011

Установите пароль в контроллере следующим образом:

@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 перед их использованием.

...