ruby on rails - Getting user information using either user.login or user.id -
तो मेरे पास एक url है जैसे
localhost / users /: id / posts
जो उस विशिष्ट उपयोगकर्ता की पोस्ट देता है अब यह आईडी या तो उसका लॉगिन (जो स्ट्रिंग है) या आईडी (user.id) हो सकता है जो कि तकनीकी रूप से एक पूर्णांक है, लेकिन पैराम्स [: आईडी]
हमेशा एक स्ट्रिंग है तो मैं इसे कैसे क्रियान्वित कर सकता हूँ।
@user = params [: आईडी] .is_a? (स्ट्रिंग)? User.find_by_login (params [: id]): User.find (params [: id])
params [: id]
हमेशा एक स्ट्रिंग है कोई विचार? धन्यवाद।
मैंने यह किया है, मेरे पास वास्तव में दो अलग-अलग नियंत्रक क्रियाएं हैं - < कोड> शो और show_by_login
। मुझे लगता है कि यह कम अप्रत्याशित तरीके से है, और मेरे पास अधिक नियंत्रण है।
अपने लॉगिनों की विशिष्टता को लागू करना सुनिश्चित करें, उन्हें इंडेक्स करें, और यदि show_by_login
आपके पास को सक्रिय करें रिकार्ड नहीं मिल सकता है: ActiveRecord :: RecordNotFound
अपने आप को।
डीईफ़ शो @ यूज़र = यूज़र.फंड (पैराम्स [: आईडी]) उत्तर_टो डॉट | प्रारूप | Format.html format.xml {रेंडर: xml = & gt; @ User.to_xml} end end def show_by_login @user = User.find_by_login (params [: लॉगिन]) जब तक कि यूजर वर्क ऐक्टिवर रिकार्ड :: रिकार्ड नॉटफॉन्ड एंड रेंडर: एक्शन = & gt; 'शो' एंड
Comments
Post a Comment