2011-10-06 14 views
5

मैं नामित उपज ब्लॉक का उपयोग करके अपने एप्लिकेशन पेज में कुछ जावास्क्रिप्ट लोड करने की कोशिश कर रहा हूं, लेकिन मेरे व्यू पेजों को लोड करने वाली सामान्य उपज के कारण कोड डुप्लिकेट किया गया है। ऐसा ही कुछ:रेल के साथ समस्या Content_for/उपज - डुप्लिकेट सामग्री

----- कोड वर्तमान विचारों में -----

<% content_for :bottom_scripts do %> 
    <script type="text/javascript"> 
      Some Javascripts 
    </script> 
<% end %> 

------ कोड अपने आवेदन पेज में -----

<div id = "body"> 
    <%= yield %> 
</div> 
<%= yield :bottom_scripts %> 

स्क्रिप्ट कोड दो बार मुद्रित होता है, लेकिन मुझे इसे दूसरी उपज, किसी भी विचार में मुद्रित करने की आवश्यकता है?

+0

क्या यह शरीर में एक बार और एक बार बाहर मुद्रित होता है? क्या आप प्रस्तुत पृष्ठ का नमूना पोस्ट कर सकते हैं? –

+0

एक साइड नोट के रूप में, मैं प्रत्येक सामग्री_for: bottom_scripts के लिए कई उदाहरण बनाने के बजाय उपज के बाहर स्क्रिप्ट टैग छोड़ने का सुझाव दूंगा। – Nick

उत्तर

1

आप अपने बजाय लेआउट उपज

में content_for उपयोग कर सकते हैं जब content_for एक ब्लॉक में यह ध्यान में रखते हुए कि पहचानकर्ता

पर संग्रहीत ब्लॉक आउटपुट पारित नहीं किया जाता है:

<% content_for :foo do %> 
    <p>Bar</p> 
<% end %> 
लेआउट में

:

<%= content_for :foo %> 

http://apidock.com/rails/ActionView/Helpers/CaptureHelper/content_for