Monday, 15 September 2014

javascript - Why is my $variable acting like a string when placed in ERB? -


जेएस:

  $ (this) .attr ({src: "& lt;% = Asset_path ("\\ $ hoverClass" '- red.jpg')% & gt; "});   

इस आउटसेट /assets/$hoverClass-red.jpg /assets/sports-red.jpg के बजाय ($ hoverClass का मान 'खेल' है)।

रूबी इस तरह स्ट्रिंग्स को प्रक्षेपित नहीं करता है। आपका क्या मतलब है:

  & lt;% = asset_path ("# $ $ hoverClass} -red.jpg")% & gt;   

रूबी में $ -prefixed चर का उपयोग करते हुए एक नोट के रूप में, आमतौर पर खराब स्वरूप है क्योंकि इसका मतलब है कि आप उन्हें वैश्विक रूप से घोषित कर रहे हैं यह अनिवार्य रूप से नाम टकराव, अनजान डेटा दृढ़ता, और कई अन्य समस्याओं को नीचे पिन करने के लिए कठिन हो जाता है। जब भी संभव हो तो @ -prefixed उदाहरण चर का उपयोग करें।

आप इस तरह भी प्राप्त कर सकते हैं:

  $ (this) .attr (& lt; % = {Src: asset_path ("# {$ hoverClass }-red.jpg")} .to_json% & gt;);   

यह आमतौर पर अधिक विश्वसनीय है क्योंकि उचित JSON से बचने का आपके लिए किया जाता है।

No comments:

Post a Comment