بناء مسار تحكم النموذج متعدد الأشكال مع HAS_MANY
-
21-09-2019 - |
سؤال
لدي تعليق نموذج متعدد الأشكال يمكن أن يكون مرتبطًا بالعديد من أنواع التعليقات. في روتاتي ، على سبيل المثال لدي:
map.resources :newsitems do |news|
news.resources :comments
end
كل شيء يعمل بشكل جيد ، المشكلة الوحيدة هي توليد المسارات. أنا في وجهات نظري/وحدة التحكم العنصر القابل للاستثمار ، أسترجع من قبل ript_filter.
روابط إلى [commentable ، @comment] تعمل بشكل جيد ، مثل النماذج أو العرض أو التدمير. لكن الروابط إلى New and Edit قد أفسدت ... Comment_path ( @commentable ، @comment) لا تعمل على سبيل المثال.
كيف يمكنني بناء هذا المسار الديناميكي في آرائي؟
خاصة مسارات edit_ و new_
المحلول
أستخدم polymorphic_path لهذا ، الأمر الذي يتطلب: إجراء: جديد و: تحرير ، مثل ذلك:
link_to("New Comment", polymorphic_path([@commentable,@comment], :action => :new))
http://api.rubyonrails.org/classes/actionController/polymorphicroutes.html#m000487