سؤال

لدي تطبيق Rails 3.2 الذي أستخدمه GEM الجهد العالي لصفحاتي العامة. يبدو أنه يعمل بشكل جيد، ومع ذلك، أود أن أكون قادرا على وضع بعض الدلائل الفرعية في مجلد صفحاتي.

علي سبيل المثال:

/pages
--/directory_1
----index.html.erb
--/directory_2
----index.html.erb

في هذا المثال، أريد أن أشير متصفحي إلى pages/directory_1/index, ، إلخ. تدعي الوثائق أنه ممكن:

يمكنك أن تعيش صفحات في بنية دليل، إذا كان ذلك منطقي من منظور URL بالنسبة لك: Link_to "تقارير Q4"، page_path ("حول / الشركات / السياسات / HR / EN_US / BIZ / SATES / ROP-FORN")

ولكن شيء من هذا القبيل لا يعمل بالنسبة لي.

لقد جربتها مع مساحة الاسم:

namespace :directory_1 do
  match "pages/:id" => "high_voltage/pages#show"
end

ولكن هذا بالطبع ثم يذهب إلى directory_1/high_voltage/pages#show, ، وهذا خطأ.

ببساطة القيام بالمباراة "pages/directory_1/:id" => "high_voltage/pages#show" يأتي مع مشكلتين: إنه لا يسمح بأي طرق عرض في دليل الصفحات نفسه بعد الآن، وينظر وجهات النظر مع نفس اسم الملف في الدلائل الفرعية المختلفة.

فكيف يمكنني إنجاز الدلائل المتداخلة داخل صفحاتي مع الجهد العالي؟

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

المحلول

ببساطة إنشاء هيكل الدليل في الداخل app/views/pages لتعكس التسلسل الهرمي لعنوان URL الذي تحتاجه.

على سبيل المثال، إذا قمت بإنشاء طريقة عرض اسمي about.html.erb مع المسار app/views/pages/about_me/about.html.erb, ، سوف تشير إليه باستخدام

<%= link_to "About", page_path("about_me/about") %>

حصلت على هذا الحل الدقيق يعمل في مشروع حالي.

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