ساعد في حل خطأ التوجيه في Rails
-
05-07-2019 - |
سؤال
لدي وحدة تحكم تسمى form_questions_answers
مع طريقة تسمى modify_rule
ولكن عندما أقوم بتنفيذ وظيفة ل /form_questions_answers/modify_rule/60
يقول لي ريلز:
Routing Error
No route matches "/form_questions_answers/modify_rule/60" with {:method=>:post}
لماذا يحدث هذا، لقد map.resources :form_question_answers
في الطرق.rb، و map.connect ':controller/:action/:id'
في الجزء السفلي من ملف Routes.rb، فلماذا لا يكون modify_rule
يتم تفعيل الإجراء؟
المحلول
وسوف /form_questions_answers/modify_rule/60
لا يقبل وظيفة على أساس map.resources. وسيكون إما GET أو PUT تمشيا مع REST.
وقد ترغب في إلقاء نظرة القضبان دليل التوجيه للحصول على بعض المعلومات حول الطرق.
وسعيد اليوم تركيا!
نصائح أخرى
إذا كنت تستخدم طرقًا تعتمد على الموارد، فربما تريد إزالة ملف الطرق الافتراضية.ومع ذلك، ربما تريد إضافة عضو جديد إلى حسابك form_question_answers
الطريق مثل هذا:
map.resources 'form_questions_answers', :member => { :modify_rule => :post }
يمكنك قراءة المزيد حول إضافة خيارات إلى مساراتك هنا.