هل يجب علي استخدام ملفات .erb أو .rhtml لتطبيق Rails الذي يوجد فيه كل منطق وحدة التحكم في طرق العرض؟

StackOverflow https://stackoverflow.com/questions/821010

سؤال

لقد بدأت للتو في تعلم ريلز.لقد قمت بإنشاء تطبيق Rails فارغًا.وبدلاً من كتابة وحدة تحكم، أريد وضع كل منطق وحدة التحكم الخاص بي في طرق العرض الخاصة بي بدلاً من فئات وحدة التحكم المنفصلة.

للقيام بذلك، هل يجب علي استخدام ملفات .erb أو ملفات .rhtml وما الفرق؟

هل كانت مفيدة؟

المحلول

أولاً، إنهما نفس الشيء تقريبًا ولكن يجب عليك استخدام تنسيق التسمية القياسي الجديد .html.erb

الثاني من كل، توقف عما تفعله وأعد النظر في كل شيء !!!!!

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

يجب ألا تفعل أي شيء في طرق عرضك بخلاف عرض البيانات.

نصائح أخرى

"لقد طلب مني أحد العملاء إنشاء نظام رفوف مخصص وتثبيته.لقد وصلت إلى النقطة التي أحتاج فيها إلى تثبيتها، لكنني لست متأكدًا مما سأستخدمه لدق الأظافر.

هل يجب علي استخدام حذاء قديم أم قنينة زجاجية؟

في حالتك سأذهب ل قارورة زجاجية.

في القضبان الجديدة ستكون 3.0 الملفات .rhtml غير معتمد. .html.erb هو المعيار الجديد.

وأنا أفهم أن لديك التطبيق صغير ولا تنطبق معايير حقا لكم، ولكن هذا هو بيت القصيد من MVC. المنطق يجب ان تذهب الى وحدة تحكم / نموذج والرأي بدقة للعرض.

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

وهذا على ما هو عليه، والباقي هو الآن متروك لكم.

نعم، كنت على صواب في أن المبدعين من القضبان أبدا ذكر أنه لا ينبغي عليك استخدام القضبان لتطبيقات صغيرة، لكنها ذكرت مرارا وتكرارا على أهمية وحدة تحكم.

I إنشاء التطبيق القضبان فارغة. وبدلا من كتابة المراقب المالي، أريد أن أضع كل من بلدي المنطق المراقب في بلدي المشاهدات بدلا من الطبقات تحكم منفصلة.

وفقط من باب الفضول، ما هو نوع من المنطق أنت تنظر وضع في وجهات نظركم؟ إذا كان منطق العرض ثم وهذا هو شيء واحد ولكن إذا كانت قواعد العمل، تحميل البيانات من قاعدة بيانات، ملف xml، خدمة على شبكة الإنترنت / بقية مقرها فإنك تنتهك المبادئ الأساسية للسكك. سمعت من ASP (الكلاسيكية صفحات الملقم النشطة)؟ وقد تطورت الأطر أبعد من ذلك للتغلب على أوجه القصور والعثرات مثل ASP للسماح لك لا لخلط العرض والتعليمات البرمجية. إذا كنت المربى كل ذلك معا، وكيف وحدة اختبار التعليمات البرمجية الخاصة بك؟ مبدأ رئيسي آخر من القضبان وهذا هو السبب في أنها بنيت في الإطار نفسه على عكس الأطر الأخرى على شبكة الإنترنت.

أريد أن أتعلم كيفية استخدام "القياسية" الإطار روبي

في ردودكم واصلتم بالذكر كنت تريد معرفة الإطار روبي القياسية؟ إذا كان هذا هو الحال لماذا لا يتم استخدام IRB بعد ذلك؟ القضبان ليست جزءا من الإطار روبي القياسية. في الواقع كنت على الارجح تعلم الكثير عن روبي باستخدام IRB فإنك سوف القضبان. وبمجرد الانتهاء من اطلع نفسك مع روبي ثم تأخذ على القضبان.

وأنا أتفق مع الآخرين، وإذا حكمتم بين أن تأخذ من الوقت لتعلم الإطار، ثم تعلم ذلك الحق، وكما الخالق المقصود، وإلا كنت في عداد المفقودين نقطة، وأنك لن ترى لماذا القضبان مثل هذا ويب جيد إطار لتبدأ. ما كنت تأمل في إنجاز يمكن القيام به في عدد من تقنيات الويب: ASP، ASP.Net، PHP، JSP، بيرل، ولكن اخترت تعلم روبي والقضبان وبالتالي لا تفعل ذلك هي نفسها كما كنت يمكن في أي ل تقنيات الويب الأخرى.

والتمسك MVC هو الطريق للمضي قدما لبناء التطبيق. إذا لم تكن متأكدا لماذا هناك حاجة إلى وحدة تحكم ثم القيام بالأبحاث. عندي تواجه الحفاظ على التعليمات البرمجية حيث هي جزء لا يتجزأ من scrips في طبقة العرض. ومن هزلية لبدء أي جهد الهندسة دون فهم دقيق المنهجية الصحيحة والوقت اختبارها. هو مثل محاولة لبناء منزل باستخدام أي أساس أو مخطط لها.

لا شيئا حقا.إنه مجرد تغيير في الفلسفة بين Rails 1 و Rails 2.قبل الإصدار 2 من Rails، كان لديك file.rhtml وfile.rxml وfile.rjs.في Rails، تغير ذلك إلى file.content_type.template_engine.لذلك مع file.html.erb، نوع المحتوى هو html ومحرك القالب هو ERb.rxml أصبح الآن xml.builder ويجب أن يكون rjs الآن (في الغالب) js.rjs

في الإصدار الجديد من Rails 3.0، ستكون ملفات .rhtml غير مدعومة..html.erb هو المعيار الجديد.

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