मैं PHP से आगे बढ़ने के बाद रेल के लिए नया हूं और निराशाओं का कोई अंत नहीं कर रहा हूं, लेकिन उम्मीद है कि एक सीधी सीखने की वक्र है।पैराम्स के मानों की तुलना में रेल [: id] और सत्र [: user_id] काम नहीं कर रहे हैं
मैं रेल में एक ट्विटर क्लोन बनाने के तरीके पर एक गाइड का पालन कर रहा था, और उस पथ के साथ जारी रखा है जैसे इसे अधिक से अधिक ट्विटर बनाना।
तो मुझे एक 'उपयोगकर्ता' पृष्ठ /users/show.html.erb मिला है जो उपयोगकर्ता से सभी पोस्ट दिखाता है।
अब, यदि वर्तमान में लॉग इन उपयोगकर्ता पृष्ठ के मालिक के समान है, तो मैं टेक्स्ट बॉक्स दिखाने की कोशिश कर रहा हूं ताकि उपयोगकर्ता एक नई प्रविष्टि जोड़ सके।
मैं क्या एक बहुत ही सरल
<% if params[:id] == session[:user_id] %> put the text box here <% end %>निश्चित रूप से
, कि काम नहीं कर रहा होना चाहिए, लेकिन यह ऊपर सही मिल गया है मैंने उत्पादन दोनों सत्र [: user_id] और पैरामीटर [: आईडी], और प्रिंटआउट बिल्कुल वही है।
यदि मैं == से! = सेट करता हूं, तो मुझे 'टेक्स्ट बॉक्स यहां दिया गया' संदेश मिलता है।
कोई सुझाव है कि मैं क्या गलत कर रहा हूं? मुझे इन दो मानों का मिलान पता है, क्योंकि मैं यूआरएल में देख सकता हूं और वर्तमान में लॉग इन किए गए उपयोगकर्ता के आउटपुट को देख सकता हूं। मैं भी उत्पादन
-<% session[:user_id] %>- -<% params[:id] %>-
है ताकि मैं देख सकता हूँ वहाँ कोई अंतराल या रिक्त स्थान या मापदंडों के दोनों छोर पर अन्य पात्रों है, और यह सब साफ लग रहा है।
उत्पादन इस
-4c4483ae15a7900fcc000003- -4c4483ae15a7900fcc000003-
जो दिखाने के लिए कोई रिक्त स्थान या कुछ भी देखते हैं कि दोनों तरफ डैश के साथ उपयोगकर्ता की MongoDB objectId है जैसा दिखता है।
उनके वास्तविक मूल्यों को देखने के लिए उन्हें प्रिंट करने से पहले उन पर '.inspect' पर कॉल करें, न केवल उनके स्ट्रिंग मान। – mckeed