উত্তর:
পুরো জিনিসটি সাফ করার জন্য একটি নিয়ামকটিতে রিসেট_সেসশন পদ্ধতিটি ব্যবহার করুন।
reset_session
এই পদ্ধতিতে এখানে ডকুমেন্টেশন রয়েছে: http://api.rubyonrails.org/classes/ActionController/Base.html#M000668
এর মধ্যে সঞ্চিত সমস্ত অবজেক্ট সাফ করে এবং একটি নতুন সেশন অবজেক্টটি আরম্ভ করে সেশনটি পুনরায় সেট করে।
শুভকামনা!
রেলগুলিতে সেশন একটি হ্যাশ অবজেক্ট। সুতরাং হ্যাশ সাফ করার জন্য উপলব্ধ যে কোনও কার্য সেশনগুলির সাথে কাজ করবে।
session.clear
অথবা যদি নির্দিষ্ট কীগুলি ধ্বংস করতে হয়:
session.delete(key)
রেল পরীক্ষিত 3.2
যোগ
লোকেরা উল্লেখ করেছে session={}
এটি একটি খারাপ ধারণা। প্রসঙ্গে session.clear
, লোবাতি মন্তব্য করেছেন - দেখে মনে হচ্ছে আপনি রিসেট_সেসশনটি [সেশন ক্লেয়ারের চেয়ে] ব্যবহার করা থেকে সম্ভবত ভাল, কারণ এটি সেশন কোড ক্লিয়ার যা কিছু করে তা পরিস্কার করে। অভ্যন্তরীণভাবে, রিসেট_সেশন কল করে সেশন.ডেস্ট্রয় , যা নিজেই ক্লিয়ার পাশাপাশি কিছু অন্যান্য স্টাফও কল করে।
reset_session
, কারণ এটি কিছু করা ছাড়িয়ে অন্য কিছু পরিষ্কার session.clear
করে। অভ্যন্তরীণভাবে, reset_session
কলগুলিsession.destroy
, যা নিজে কল clear
করে পাশাপাশি কিছু অন্যান্য জিনিস ।
কেবলমাত্র নির্দিষ্ট প্যারামিটারগুলি সাফ করতে আপনি ব্যবহার করতে পারেন:
[:param1, :param2, :param3].each { |k| session.delete(k) }
আপনার অ্যাপ্লিকেশনকন্ট্রোলারে এই কোডটি যুক্ত করুন
def reset_session
@_request.reset_session
end
(জানেন না কেন উপরে কেউই এই কোডটি কেবল আমার সমস্যাটির স্থির করে না কেন) http://apidock.com/rails/ActionController/RackDelegation/reset_session
@_request.reset_session
এবং reset_session
উভয়ই কাজ খুঁজে পাই এবং সম্ভবত একই কাজ করব?