2009-10-23 20 views
5

मेरे पास टेबल के साथ डेटाबेस है। मैं मौजूदा रेल से अपने रेल ऐप में एक मॉडल बनाना चाहता हूं। के रूप में मुझे पता है, इस तरह के सुविधा के उपलब्ध होने और इस प्रकार से किया जाता है:

script/generate scaffold model_name --skip-migration


बेशक, मैं database.yml फ़ाइल में मेरी डेटाबेस में परिभाषित किया। मचान मेरे लिए नियंत्रक और विचारों के साथ एक मॉडल उत्पन्न किया। मेरा टेबल नाम ऐसा नहीं है क्योंकि यह रेल के लिए होना चाहिए (यह गलत है, सम्मेलनों का पालन नहीं कर रहा है), मैंने अपने नियंत्रक को set_table_name जोड़ा। लेकिन, जब मैं इंडेक्स विधि को कॉल कर रहा हूं, तो मेरे पेज पर मेरे पास केवल # प्रतीकों का सेट है, लेकिन डेटाबेस से डेटा नहीं है। मेरे index.html.erb में मैंने केवल मचान द्वारा कोड उत्पन्न किया है। मैं अपना डेटाबेस डेटा कैसे प्रिंट कर सकता हूं?
रेल में मौजूदा तालिका से मॉडल 2

+0

मैं अपने वेब पृष्ठ के स्रोत खोला और देखा था, मैं ऐसा ही कुछ है: # Yurish

+0

आप अपने index.h की सामग्री में पेस्ट कर सकते हैं tml.erb फ़ाइल –

+0

लिस्टिंग klients

<% @ klients.each करना | klient | %> <% end %>
<% = LINK_TO 'दिखाएँ', klient%> <% = LINK_TO 'संपादन', edit_klient_path (klient)%> <% = LINK_TO 'नष्ट', klient,: पुष्टि = >, 'आपको यकीन है?': विधि =>: हटाना%>

<% = LINK_TO 'नई klient', new_klient_path%> – Yurish

उत्तर

7

क्या आपने अपने मौजूदा डेटाबेस से स्कीमा फ़ाइल जेनरेट की है? यदि आप

rake db:schema:dump 

चलाएं और फिर अपने मचान को फिर से उत्पन्न करें, तो समस्या को ठीक करना चाहिए।

इसके अतिरिक्त आप Dr Nic's Magic Model generator देख सकते हैं। यह आपके सभी मौजूदा तालिकाओं के लिए मॉडल उत्पन्न करेगा और संबंधों का अनुमान लगाने का प्रयास करेगा। यदि आपकी तालिका नामकरण रेल द्वारा समझ में नहीं आता है तो यह शायद काम नहीं करेगा।

अद्यतन

मैं आम तौर पर डिफ़ॉल्ट पाड़ हालांकि मैं इस परीक्षण किया है अपने आप का उपयोग नहीं करते और ऐसा लगता है कि अगर आप माइग्रेशन छोड़ सकते हैं और किसी भी कॉलम नाम/प्रकार जोड़े तो उत्तीर्ण नहीं पाड़ जनरेटर नहीं होगा कॉलम प्रस्तुत करने के लिए टेम्पलेट में कुछ भी बनाएँ।

आप यहाँ दो विकल्प या तो

  1. स्तंभ नाम जोड़े में दर्रा के साथ-साथ छोड़-माइग्रेशन या
  2. डाउनलोड रयान बेट्स Nifty Scaffold generator उसमें कॉलम के नाम के साथ पाड़ पैदा करेगा, भले ही आपके द्वारा निर्दिष्ट के रूप में है - -skip-माइग्रेशन
+0

मैं PostgreSQL डेटाबेस है, और मैं स्कीमा उत्पन्न । समस्या हल नहीं हुई। – Yurish

+0

धन्यवाद!मैं कोशिश करूंगा, लेकिन ऐसा लगता है कि आप सही हैं! – Yurish

+0

यह मेरे लिए बहुत ही अच्छा था। मैंने एक नया ऐप बनाया, इसे पुराने (गैर-रेल) ऐप के डेटाबेस से डेटाबेस में इंगित किया और माइग्रेशन टेबल के लिए schema.rb फ़ाइल बनाई, मेरी 358 टेबल के लिए स्टेटमेंट बनाएं !!! फिर मैं एक अलग डेटाबेस पर एक ऐप इंगित करता हूं और इस स्कीमा फ़ाइल का उपयोग उस अलग डेटाबेस में बनाने के लिए करता हूं। –

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