2011-04-27 12 views
8

मेरे पास स्थिर पीडीएफ का एक सेट है। मैं उनसे लिंक के साथ, रेल पेज पर उन्हें सूचीबद्ध करना चाहता हूं।रेल में निर्देशिका की सामग्री को सूचीबद्ध/लिंक करना

मुझे अभी क्या चाहिए कि पथ की शुरुआत से/जनता को कैसे ट्रिम करें ताकि लिंक वास्तव में काम करेगा।

वर्तमान कोड:

<h1>Listing letters</h1> 
<table> 
<ul> 
<% @files = Dir.glob("public/files/*.pdf") %> 
<% for file in @files %> 
<% new_file = file.to_s %> 
<% new_file = new_file.chomp("public/") %> 
<li><%= link_to 'Letter', new_file %></li> 
<% end %> 
</ul> 
</table> 

हालांकि लिंक अभी

http://localhost:3000/public/files/document.pdf 

जब के रूप में आ रहे हैं काम करने के लिए वे करने की आवश्यकता है

http://localhost:3000/files/document.pdf 

उत्तर

6
<% Dir["public/files/*.pdf"].each do |file| %> 
    <li><%= link_to 'Letter', file[/\/.*/] %></li> 
<% end %> 
+0

जो मैं कोशिश कर रहा था उससे कहीं आसान है। धन्यवाद। तुमने मुझे एक और घंटे बचाया :) –

3

chomp विधि someting दूर करने के लिए प्रयोग किया जाता है स्ट्रिंग के पर;) इसके बजाय gsub का उपयोग करें।

new_file.gsub!('public', '') 

या

new_file = new_file.gsub('public', '') 
+0

करीब हो रही है! हालांकि <% new_file = new_file.delete "public /"%> मुझे पथ में हटाए गए किसी भी अक्षर के साथ एक स्ट्रिंग दे रहा है (यानी fes/docment.pf) – DVG

+0

हम्म सच है, इसके बारे में खेद है, gsub आज़माएं। एक उदाहरण जोड़ा गया। – Icid

संबंधित मुद्दे