मैं अध्याय 8 Click here for details पर रेल ट्यूटोरियल पर माइकल हार्ट की रूबी पर काम कर रहा हूं, मैं अभ्यास 8.6 पर फंस गया हूं, लेखक ने एकीकरण परीक्षण में वर्चुअल याद_टोकन विशेषता तक पहुंचने का एक तरीका पेश किया और उसने हमारे लिए कुछ काम छोड़ दिया,एकीकरण परीक्षण में वर्चुअल remember_token विशेषता का उपयोग कैसे करें?
assert_equal assigns(:user).FILL_IN, FILL_IN
मुझे "FILL_IN" प्लेसहोल्डर के साथ सही कोड को प्रतिस्थापित करना चाहिए। मैं सिर्फ सही के बारे में नहीं सोच सका। मैं के साथ
assert_equal assigns(:user).cookies, remember_token
एप्लिकेशन/नियंत्रक/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
की कोशिश की लेकिन यह काम नहीं किया, Erros:
"test_login_with_remembering", UsersLoginTest, 0.590876]
test_login_with_remembering#UsersLoginTest (0.59s)
NoMethodError: NoMethodError: undefined method `cookies' for #<User:0x007f964f1a91d0>
मैं वास्तव में पता है कि यह बहुत ही सरल कुछ है, मैं कुछ शोध किया, ऐसा लगता है कि किसी ने भी एक ही सवाल नहीं पूछा है, क्योंकि ट्यूटोरियल काफी नया है। कृपया समझें कि मैं सिर्फ एक नौसिखिया हूं, अगर आप इस समस्या को हल करने में मेरी मदद कर सकते हैं तो मुझे बहुत सराहना की जाएगी।
आप उपयोगकर्ता विशेषता या उपयोगकर्ता पद्धति के रूप में कुकीज़ का उपयोग कर रहे की तरह काम करता है। आप 'users (: user) .cookies' को @ user.cookies के रूप में असाइन कर सकते हैं जो गलत है (कुकीज उपयोगकर्ता पर निर्भर नहीं है और कंप्यूटर में संग्रहीत हैं, रेल अनुप्रयोग में नहीं)। – Katarzyna