هل من الممكن تحديد مسار مسمى ضمن مسار واسع الحيلة؟
-
14-11-2019 - |
سؤال
أقوم فقط بترقية تطبيقي إلى Rails 3 وبما أنه يتعين علي إعادة كتابة التوجيه الخاص بي على أي حال، فأنا أستغرق بعض الوقت لتحسين المسارات المحددة.
لدي وحدة تحكم في الفواتير تحتوي على إجراء سلة المهملات (/الفواتير/المهملات تسرد جميع الفواتير في سلة المهملات).أريد الوصول إلى هذا من خلال مسار مسمى (أي.trash_url) للبساطة في وجهات نظري.
يمكنني تحقيق ذلك بسهولة بما فيه الكفاية مع ما يلي
match "/invoices/trash" => "invoices#trash", :as => :trash
ما أريد معرفته هو ما إذا كانت هناك طريقة للقيام بذلك داخل الكتلة حيث أقوم بتحديد المسارات لوحدة التحكم في الفاتورة الخاصة بي.لقد حاولت ما يلي ولا يعمل.
resources :invoices do
collection do
get :trash, :as => :trash
end
end
هل ما أحاول القيام به ممكن أم هل يجب علي تحديد المسار المحدد الخاص بي خارج هذه الكتلة؟
شكرًا.
المحلول
الطريقة التي أدرجتها (الموضحة أدناه) تعمل بشكل جيد بالنسبة لي، فهي تولد trash_invoices_path
و trash_invoices_url
الأساليب المساعدة.
resources :invoices do
collection do
get :trash, :as => :trash
end
end
يمكنك إنشاء طرق في وحدة تحكم التطبيق الخاصة بك باسم trash_url
و trash_path
هذا فقط يستدعي ويعيد المسار من الطرق التي تم إنشاؤها المذكورة أعلاه إذا كنت بحاجة إلى استخدام أسماء الطرق المحددة هذه بدلاً من تلك التي تم إنشاؤها.