سؤال

وأنا لا تلمس routes.rb وراء الدعوة map.root لتحديد مسار افتراضي. لقد كنت دائما المحتوى لاستخدام عناوين المواقع على شكل ...

/controller/action/perhaps_an_id

ووأنه يعمل بشكل جيد.

هل هذا يجعل مني شخصا سيئا؟ أنا في عداد المفقودين على شيء رهيبة تماما؟

وماذا لو أحاول اعتماد تصميم مريح؟ هل هذا يعني أنني يجب أن تعديل routes.rb أو يمكن أن أواصل تجاهله سارة؟

و(حاولت أن تقرأ على هذا الموضوع في والقضبان الطريق ولكنه كان لا يطاق.)

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

المحلول

إذا توليد الموارد الخاصة بك مع السقالات الافتراضي بعد ذلك سوف تشمل حتى توجيه مريحة بالنسبة لك في routes.rb.

إذا كنت لا تستخدم السقالات ثم السبب أنه يعمل هو بسبب التوجيهات الافتراضية في الجزء السفلي بشكل افتراضي:

    map.connect ':controller/:action/:id'
    map.connect ':controller/:action/:id.:format'

ولقد تم بعد ذلك انها أفضل الممارسات لإزالة هذه لتطبيقات الإنتاج وبدلا من ذلك التأكد من أن تتعرض فقط الموارد التي تحتاج إلى أن يتعرض لها. مع القضبان 2.2 يمكنك تحديد حتى الطرق راحة من map.resources حسب:

map.resources :posts, :only => [:index, :show]
map.resources :comments, :except => [:edit]

وهناك أيضا طن من الأشياء باردة يمكنك القيام به مع الموارد المتداخلة، واسمه الطرق، وما لديهم الكثير من الأمثلة في مستندات (<لأ href = "http://www.railsbrain.com/api/rails- 2.2.2 / وثيقة / index.html و؟ ل= M000255 واسم = الموارد "يختلط =" noreferrer "> http://www.railsbrain.com/api/rails-2.2.2/doc/index.html؟a=M000255&name= الموارد )

نصائح أخرى

وأنت قد تحتاج أيضا إلى جعل المسارات المسماة مخصصة لقسم التسويق الخاص بك (على سبيل المثال: mycoolsite.com/free-trial) أن تنفجر إلى وحدات تحكم وإجراءات محددة، الخ.

وريان بيتس لديه سلسلة من قطات للشاشة التي تذهب على بعض الأشياء الرائعة التي يمكنك القيام به مع طرق: HTTP: //railscasts.com/tags/14

وليس بعد أن تحولت إلى تصميم مريح لا يجعلك شخصا سيئا، وإذا كنت لا تشعر بأي حاجة لتغيير الاستمرار في الكتابة التطبيقات الخاصة بك بالطريقة 1.X.

لقد اعتمدت غالبية مطوري القضبان REST ويبدو أن سعيد جدا حيال ذلك. أنا لا أعتقد أن هناك حاجة هنا إلى تكرار جميع الحجج المؤيدة REST.

وأنت لا تحتاج إلى إضافة سطر واحد لكل مورد من طرق الخاص بك ملف مثل:

map.resources :posts

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

map.resources :your_resource

وأو إذا كنت قد تتداخل الموارد،

    map.resources :people do |person|
      person.resources :ideas do |idea|
        ideas.resources :bad_ones
      end
    end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top