2012-11-28 33 views
5

निम्नलिखित कोड मुझे लाइन 4खिंचाव Haml में बहु को जिम्मेदार बताते हैं, मैं एक असंतुलित कोष्ठक त्रुटि

%ul 
    - @sentences.each do |sentence| 
    %li 
     %a{id:"s-#{sentence.id}", 
     href:"/sentence/#{sentence.id}", 
     'data-type' => 'text', 
     'data-url' => "/sentence/#{sentence.id}", 
     'data-toggle' => 'manual' 
     }= sentence.content 
     %a{href:'#'} 
     %i.icon-pencil 



Haml::SyntaxError at /user/1/sentence 
Unbalanced brackets. 
file: sentences.haml location: nil line: 4 

किसी भी विचार पर unbalanced bracket error देता है?

उत्तर

7

मैं इस समस्या अपने आप को मिल गया है, को बंद करने } नहीं किसी भी अन्य भाषाओं की तरह एक नई लाइन में

'data-toggle' => 'manual'} 
    = sentence.content 

+0

मेरे लिए काम नहीं किया ... – juanpastas

+0

महत्वपूर्ण बात यह लगती है खरोज है http://stackoverflow.com/questions/13930603/haml-syntax-split-a-line-to-a-couple- पंक्तियों – juanpastas

+2

न केवल अंतिम '} की आवश्यकता है जो पिछले वर्णों की आवश्यकता है लेकिन पहले '{' को कुछ निम्नलिखित वर्णों की भी आवश्यकता है – herophuong

3

काम करेंगे चाहिए मैं इसे दूसरों के लिए काम कर सकते हैं अन्य समाधान मिल गया। docs के मुताबिक मल्टीलाइन सामग्री पर | का उपयोग करना आवश्यक है। बेशक बंद ब्रैकेट नई लाइन में नहीं हो सकता है। उदाहरण:

%a{id:"s-#{sentence.id}", | 
    href:"/sentence/#{sentence.id}", | 
    'data-type' => 'text', | 
    'data-url' => "/sentence/#{sentence.id}", | 
    'data-toggle' => 'manual'}= sentence.content 
+0

पुराना उत्तर, मुझे पता है, लेकिन यह गलत है। आप इस उदाहरण में पाइप छोड़ सकते हैं क्योंकि प्रत्येक पंक्ति को अल्पविराम में समाप्त होता है। – henrebotha