सिर्फ एक सिद्धांत, यकीन है कि यह कैसे वास्तविक अनुप्रयोग में काम करेगा नहीं:
, बनाने models
नामित के रूप में ActiveRecord
सम्मेलन की आवश्यकता तालिका aaa_bbb_ccc_ddd
के लिए उदाहरण के लिए यदि आप एक मॉडल AaaBbb
पैदा हो जाएगी और इस मॉडल को मैप अपने तालिका:
class AaaBbb < ActiveRecord::Base
self.table_name = "aaa_bbb_ccc_ddd"
end
या एक अधिक मानव उदाहरण:
class AdminUser < ActiveRecord::Base
self.table_name = "my_wonderfull_admin_users"
end
अब आप जिसका अर्थ है आप की तरह एक यूआरएल होगा मार्गों में AaaBbb
संसाधन के रूप में होगा:
.../aaa_bbb/...
और मुझे लगता है कि आप यूआरएल में तालिका नाम नाम का उपयोग करना चाहते हैं तो आप मार्ग को फिर से लिखने सकता है:
get 'aaa_bbb_ccc_ddd/:id', "aaa_bbb#show", as: "aaa_bbb"
फिर से, केवल एक सिद्धांत जो आपकी मदद कर सकता है। मैंने अभी तक ऐसे मामलों के साथ काम नहीं किया है लेकिन इससे शुरू होगा।
संपादित
को डेटाबेस से मॉडल बनाने को स्वचालित:
https://github.com/bosko/rmre
लेकिन मुझे लगता है इस अजीब नाम आप होगा कि साथ रेल प्रथा के अनुसार मॉडल का निर्माण करेगा अपने ऐप में संसाधन के रूप में उपयोग करने के लिए।
है कि मैं पर पाया एक अच्छा टेम्पलेट अतः मामले में आप एक मॉडल का नाम तालिका नाम से अलग उपयोग करना चाहते हैं:
class YourIdealModelName < ActiveRecord::Base
self.table_name = `actual_table_name`
self.primary_key = `ID`
belongs_to :other_ideal_model,
:foreign_key => 'foreign_key_on_other_table'
has_many :some_other_ideal_models,
:foreign_key => 'foreign_key_on_this_table',
:primary_key => 'primary_key_on_other_table'
end
क्या कोई schema.rb से इसे स्वचालित करने का कोई तरीका है? मेरे पास ~ 10 कॉलम के साथ ~ 20 टेबल हैं। यदि संभव हो तो हाथों से कोड और विशेषताओं को कोड नहीं करना चाहते हैं। – Derek
आपको केवल टेबल के बारे में परवाह करना चाहिए और उनके कॉलम का उपयोग करना चाहिए। मुझे यकीन नहीं है कि आप इस डीबी के साथ काम करने वाले अन्य ऐप को प्रभावित किए बिना कॉलम को किसी भी तरह बदल सकते हैं। स्वचालित के बारे में मैं एक बाउट सोचूंगा .. अगर मुझे कुछ उपयोगी लगता है तो मेरा जवाब अपडेट होगा। – rmagnum2002
ओह, मैं कॉलम नाम बदलने के बारे में सोच नहीं रहा था।यह अभी ठीक है क्योंकि मेरे पास एक मॉडल फ़ाइल भी नहीं है क्योंकि मैं पीछे की ओर काम कर रहा हूं। इसलिए मुझे 'attr_accessible' सामान सहित सबकुछ टाइप करना होगा, इसलिए मैं अपने लिए सभी मॉडल कोड स्वचालित रूप से उत्पन्न करना चाहता हूं। – Derek