سؤال

منذ البداية، واجهت ريلز مشكلات مع النماذج ذات مساحات الأسماء.ومع مرور الوقت، تخلى الجميع تقريبًا عن استخدامه.وأنا منهم.

مع إصدار Rails 2.3، أود الحصول على تحديث حول الموقف.الأسئلة المحددة التي تدور في ذهني هي:

  • أولاً، هل من الجيد الذهاب؟
  • تسمية الجدول، ما هي القاعدة التي يجب اتباعها؟
  • الجمعيات ، كيف نعلنها بأقل إسهاب؟كيفية تسمية أعمدة المفاتيح الخارجية؟
  • الطلب التلقائي، هل يعمل إذا قمت بوضع ملفات النموذج في مجلد فرعي مطابق لمساحة الاسم؟أو كيفية تسمية ومكان وضع الملفات؟
  • هل يتعامل منشئ النموذج مع مساحات الأسماء بنجاح وبشكل صحيح؟
  • الجيل، ماذا عن مولد السقالة الذي يتضمن وحدات تحكم؟
  • أي حالات عدم توافق/مراوغات ينبغي للمرء أن يكون على علم بها؟
هل كانت مفيدة؟

المحلول

أفضل كتابة رأيتها حول هذه القضية هي من غير مكتوب بدقة.على حد علمي، لم يحل الإصدار 2.3 أية مشكلات، مما يعني أنها لا تزال غير موثوقة.

نصائح أخرى

لقد أجرينا مؤخرًا نقاشًا كبيرًا حول هذا الأمر داخل شركتنا.أعتقد أنه في نهاية اليوم، توصلنا إلى أنه إذا لم تتمكن من جداول مساحة الاسم داخل قاعدة البيانات، فليس من المنطقي تسمية النماذج بمساحة الاسم.استقرينا على وضع بادئة لنماذجنا (User، UserAddress، UserEmailAddresses) ووضعها في دليل المستخدمين، ثم استخدام:

config.load_paths << "#{RAILS_ROOT}/app/models/users"

لتحميل النماذج .للتحكم في الإسهاب في نماذجنا، نقوم بذلك بشكل متكرر:

has_many :addresses, :class_name => "UserAddress"

عند الإنشاء، نقوم بإنشائه كما لو لم تكن هناك مساحة اسم (البرنامج النصي/إنشاء نموذج UserAddress) ثم نسخه يدويًا إلى دليل المستخدم.

تتغاضى.أعتقد في النهاية أن كل هذا يمنحك حقًا بنية دليل أكثر نظافة، وهو في الواقع يمثل مشكلة أكبر لمستخدم VIM مثلي، ولكنه لطيف بالنسبة لـ TextMaters.

سأظل بعيدًا عنه.أي شيء مكتسب (وأنا لست متأكدًا من ذلك بصراحة) سيضيع بالتأكيد عندما تفكر في المتاعب وفقدان الإيجاز والوضوح في التعليمات البرمجية الخاصة بك.

يحتوي تطبيقي الأخير على 87 مصدرًا، ويتضمن ميزات إدارية في كل مكان.لا أرى أي حاجة لمسافة الاسم، IMHO.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top