में परिभाषित किया गया है, मैं वास्तविक टेम्पलेट के आधार पर लेआउट स्तर पर एक सशर्त प्रतिपादन करना चाहता हूं, content_for(:an__area)
परिभाषित किया गया है, किसी भी विचार को यह कैसे किया जाए?रेल उपज की जांच करते हैं: क्षेत्र को
उत्तर
@content_for_whatever
मान्य नहीं है। उपयोग content_for?
बजाय, इस तरह:
<% if content_for?(:whatever) %>
<div><%= yield(:whatever) %></div>
<% end %>
सहायक 'content_for?' केवल रेल में मौजूद है। रेल 2 में आप '@content_for _... 'आवृत्ति चर का उपयोग कर सकते हैं । – lest
बढ़िया! मैंने इस के लिए बहुत लंबे समय तक काम-आसपास लिखा है। अब और नहीं। – morganjlopes
रेल में भी काम करता है 4. महान थाक्स – daniel
ठीक है, मैं बिना किसी जवाब के शर्मनाक रूप से स्वयं जवाब देने जा रहा हूं और मुझे पहले ही जवाब मिल गया है :) इसे एप्लिकेशन_हेल्पर.आरबी या कहीं भी सुविधाजनक में कहीं भी एक सहायक विधि के रूप में परिभाषित करें।
def content_defined?(symbol)
content_var_name="@content_for_" +
if symbol.kind_of? Symbol
symbol.to_s
elsif symbol.kind_of? String
symbol
else
raise "Parameter symbol must be string or symbol"
end
!instance_variable_get(content_var_name).nil?
end
हे ठीक है, मुझे आपका स्वयं का जवाब पसंद है लेकिन ... मामूली बिंदु, 'instance_variable_defined? (Content_var_name)' परीक्षण के बजाए थोड़ा सा साफ है या नहीं यह शून्य है। दूसरा बड़ा बिंदु, content_for इंस्टेंस वैरिएबल को बहिष्कृत किया गया है, इसलिए आपका समाधान भविष्य का सबूत नहीं है –
एक सहायक बनाया जा सकता:
def content_defined?(var)
content_var_name="@content_for_#{var}"
!instance_variable_get(content_var_name).nil?
end
और अपने लेआउट में इस का उपयोग करें: तो
<% if @content_for_sidebar %>
<div id="sidebar">
<%= yield :sidebar %>
</div>
<% end %>
: एक सहायक विधि बनाने के लिए
<% if content_defined?(:an__area) %>
<h1>An area is defined: <%= yield :an__area %></h1>
<% end %>
यह प्रश्न का उत्तर नहीं देता है। किसी लेखक से स्पष्टीकरण की आलोचना या अनुरोध करने के लिए, अपनी पोस्ट के नीचे एक टिप्पणी छोड़ दें। – eirikir
मैं @ वीरिकिर से सहमत हूं, यह सुनिश्चित नहीं करता कि मेरा 6 साल का छोटा आत्म क्या सोच रहा था। मैं रेलवे 2 पर अभी भी उन लोगों के लिए अपना उत्तर बढ़ा रहा हूं और छोड़ रहा हूं .. अनावश्यक प्रस्ताव के बिना; – Nick
वास्तव में आवश्यक नहीं निश्चित रूप से आपके विचार में:
<% content_for :sidebar do %>
...
<% end %>
मैं यह सब समय का उपयोग सशर्त एक एक स्तंभ और दो कॉलम लेआउट
मैं उपज दो बार फोन करने के प्रदर्शन निहितार्थ के बारे में सुनिश्चित नहीं कर रहा हूँ के बीच जाने के लिए, लेकिन यह आंतरिक की परवाह किए बिना क्या करेंगे उपज के कार्यान्वयन (@content_for_xyz हटाई गई है) और किसी भी अतिरिक्त कोड या सहायक तरीकों के बिना:
<% if yield :sidebar %>
<div id="sidebar">
<%= yield :sidebar %>
</div>
<% end %>
<%if content_for?(:content)%>
<%= yield(:content) %>
<%end%>
- 1. आप वेबसाइट की जांच कैसे करते हैं?
- 2. रेल: उपज के बारे में
- 3. आप ओपनएमपीआई के संस्करण की जांच कैसे करते हैं?
- 4. रेल मॉडल उत्पन्न करते हैं
- 5. रेल के बिना ईआरबी में उपज
- 6. टाइपिंग करते समय पासवर्ड मिलान की जांच
- 7. रेल में स्पैम जांच
- 8. रेल टाइमस्टैम्प सही समय क्षेत्र का उपयोग नहीं करते
- 9. क्या लूप सरणी। लम्बाई के खिलाफ तुलना करते समय सरणी। लम्बाई की जांच करते हैं?
- 10. कोई उपज नहीं होने पर 'उपज' को रोकने के बेहतर तरीके हैं?
- 11. पर्ल में खुली (फ़ाइल) की सफलता की जांच कैसे करते हैं?
- 12. रेल पेपैल मान्य जापानी को सूचित करते हैं
- 13. रेल क्षेत्र औसत पर रूबी?
- 14. आप पाइथन शब्दकोश में कई कुंजियों की उपस्थिति की जांच कैसे करते हैं?
- 15. रेल, इनपुट क्षेत्र के maxlength
- 16. सिंटैक्स चेकिंग पर रेल रूबी की जांच या "संकलन"
- 17. एनएसएमयूटेबलएरे ऑब्जेक्ट्स की घटनाओं की गिनती करते हैं और फिर सरणी को पुनर्व्यवस्थित करते हैं
- 18. रेलवे (3) में पेपरक्लिप के साथ आप एक विशिष्ट क्षेत्र को कैसे फसल करते हैं?
- 19. रेल आने वाले अनुरोध प्रारूप को कैसे निर्धारित करते हैं?
- 20. आप रेल एप्लिकेशन को डीबग कैसे करते हैं?
- 21. रेल प्रवास: अस्तित्व की जांच करें और जा रहे रहें?
- 22. Enumerator.new को "उपज" ऑब्जेक्ट की आवश्यकता क्यों है?
- 23. सी ++/सीएलआई उपज कर सकते हैं?
- 24. उपज के वास्तविक जीवन अनुप्रयोग क्या हैं?
- 25. रेल सरल_form - छुपा क्षेत्र - बनाएँ?
- 26. Emacs क्षेत्र का चयन करते हैं, क्योंकि विम शॉर्टकट 'gv'
- 27. रेल 3: कुछ डिफ़ॉल्ट मूल्य के साथ उपज/content_for?
- 28. Recursion उपज
- 29. संकलन करते समय TR1 की जांच कैसे करें?
- 30. content_for partials में उपज बनाम
देखें मेरी [जवाब] (http://stackoverflow.com/questions/3347322/yield-if-content-render-something-otherwise-rails-3/7409626 # 7409626) रेल में इस व्यवहार को समाहित करने के लिए एक सहायक विधि बनाने के लिए 3. – tristanm