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

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

سؤال

لقد تم استخدام روبي للمرة الأولى في مشروع في العمل, لذلك أنا لا تزال إلى حد ما تعلم الحبال (والمحبة في كل دقيقة منه).

بينما أنا أفهم نقطة map.connect وظائف في الطريق.ملفات rb, أنا لا أفهم "الموارد" و "عين الطريق" ملامح من القضبان.لدي القضبان الكتاب هنا و قراءتها عدة مرات, ولكن ما زلت لا تحصل عليه.اسمه طرق أستطيع أن أتفهمه - أعتقد أنهم إما القواعد ، إما صريح أو حسابها من قبل كتلة القانون ، ولكن الموارد لغزا بالنسبة لي ، الشيء الوحيد الذي كنت امع rom لهم أن كنت فقط بحاجة لهم إذا كنت تريد بعض الاشياء باردة العمل ، مثل أن تكون قادرا على استدعاء 'resource_path' (و رهيبة ذات الصلة الأسرة من طرق).

بلدي المشروع الحالي:

map.resources :application_forms
map.resources :sections
map.resources :questions
map.resources :seed_answers
map.resources :question_types
map.resources :form_questions
map.resources :rules
map.resources :form_rules

لكن يا القضبان الكتاب هذا رائع نوعا ما "has_many" و "فقط" نوع التجزئة و المعلمات تتدلى منها وأنا لا أستطيع العمل بالضبط عندما كنت من المفترض أن استخدام لهم ، ولا ما فائدة.

يمكن لأي شخص وضع بي مباشرة ؟

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

المحلول

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

ومورد هو في الأساس "الشيء" الذي تريد أن يكون طرق للتلاعب. عند تحديد أن "أقسام" هو مورد، ما تفعلونه يقول "أريد طريقا للحصول على كل الفروع. أريد الطريق لإضافة قسم جديد. أريد الطريق لتحرير قسم الحالية. I نريد طريقا لحذف قسم ". من هذا القبيل. هذه المسارات تشير إلى أسماء أسلوب موحدة مثل index، new، edit، وهلم جرا. وسيكون لكل من هذه المسارات لديها الاسم المعين بناء على ما هو عليه. حتى الآن هناك طريقا اسمه 'edit_section'.

والمعلمة :has_many يتيح لك القول بأن نوعا معينا من شيء له الأمور الفرعية. على سبيل المثال، يمكنك أن تقول map.resources :sections, :has_many => [:questions]. وهذا يعني أن مسألة ينتمي إلى القسم، وسوف ينعكس هذا في رابط والطريق. كنت أحصل عناوين مثل '/sections/27/questions/12' وطرق اسمه مثل 'section_questions'.

والمعلمة :only تقول "إلا أن يجعل الطرق لهذه الأعمال". هل يمكن استخدامها إذا كنت تريد فقط للسماح للسرد، وعرض، وإضافة العناصر، وليس تحرير أو حذف.

نصائح أخرى

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

كلنا كافح مع فهم الموارد والراحة عندما DHH عرضه على القضبان المجتمع في أول RailsConf في عام 2006 ، لذلك لا عجب أن يكون لديك صعوبة في استيعاب مفهوم.

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

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