मैं 10 की तरह साल के लिए लगभग एक ही कोड का उपयोग करें ... एएसपी में पहली यह लिखा है, तो सी #, पीएचपी, और अब रेल:
module NavigationHelper
def ensure_navigation
@navigation ||= [ { :title => 'Home', :url => '/' } ]
end
def navigation_add(title, url)
ensure_navigation << { :title => title, :url => url }
end
def render_navigation
render :partial => 'shared/navigation', :locals => { :nav => ensure_navigation }
end
end
फिर, shared/navigation.html.erb
में:
<div class="history-nav">
<% nav.each do |n| %>
<%= link_to n[:title], n[:url] %>
<% end %>
<%= link_to yield(:title), request.path, :class => 'no-link' %>
</div>
आपका नियमित दृश्य:
<% content_for :title, 'My Page Title' %>
<% navigation_add 'My Parent Page Title', parent_page_path %>
और अपने टेम्पलेट:
<html>
<head>
<title> <%= yield :title %> </title>
</head>
<body>
...
<%= render_navigation %>
...
<%= yield %>
</body>
</html>
स्रोत
2010-11-27 04:20:19
यह अच्छा और शुष्क है का उपयोग किए बिना अद्यतन किया जा सकता! धन्यवाद। यह सुनिश्चित करने के लिए यह जांच करेगा कि यह मेरे लिए काम करता है। धन्यवाद! – marcamillion
बीटीडब्ल्यू, पहले स्निपेट के लिए, मुझे इसे कहां जोड़ना चाहिए? मेरे आवेदन नियंत्रक के लिए? – marcamillion
पहला एक नया सहायक है। आप अपने कोड को किसी भी सहायक को जोड़ सकते हैं, लेकिन मुझे इसे अपने स्वयं के सहायक, 'नेविगेशनहेल्पर' पर पसंद है। –