michal hart'ın Ruby on RailsClick here for details'daki öğretici üzerinde çalışıyorum, alıştırma 8.6'da takılıp kaldım, Yazar entegrasyon testinde sanal remember_token niteliğine erişmenin bir yolunu tanıttı veEntegrasyon testinde sanal remember_token niteliğine nasıl erişilir?
assert_equal assigns(:user).FILL_IN, FILL_IN
Doğru kodu "FILL_IN" yer tutucusuyla değiştirmem gerekiyordu. Doğru olanı düşünemedim. Ben
assert_equal assigns(:user).cookies, remember_token
app/denetleyicileri/sessions_controller.rb
def create
@user = User.find_by(email: params[:session][:email].downcase)
if @user && @user.authenticate(params[:session][:password])
log_in @user
params[:session][:remember_me] == '1' ? remember(@user) : forget(@user)
redirect_to @user
ile çalıştı Ama işe yaramadı, Erros:
"test_login_with_remembering", UsersLoginTest, 0.590876]
test_login_with_remembering#UsersLoginTest (0.59s)
NoMethodError: NoMethodError: undefined method `cookies' for #<User:0x007f964f1a91d0>
Ben aslında, çok basit bir şey olduğunu biliyorum biraz araştırma yaptı, hiç kimse aynı soruyu sormadı, çünkü öğretici oldukça yeni. Lütfen sadece yeni başlayan bir insan olduğumu anlayın, bu sorunu çözmek için bana yardımcı olabilirseniz çok memnun olurum.
gibi çalışır. 'Assigns (: user) .cookies' komutunu @ user.cookies olarak yanlış çevirebilirsin (çerezler kullanıcınınkullanıcısına bağlı değildir ve raylar uygulamasında değil, bilgisayarda saklanır). – Katarzyna