بهترین شیوه برای مدیریت پیج‌های استاتیک در ریلز چیه؟

فرض کنید اپلیکیشنی دارید که براش یه سری پیج استاتیک هم باید داشته باشید. مثل landing page, contact, faq, about us و … . میخوام بدونم بست پرکتیسی واسه مدیریت این مورد وجود داره؟ بر فرض اگه تعداد این پیج ها زیاد بشه چجوری باید هندلشون کرد که مشکلی ایجاد نشه؟ مثلا میدونیم که کنترلر نباید بیش از اندازه فربه بشه و فایل کانفیگ روت ما نباید خیلی شلوغ بشه. آیا بهترین روشی برای این کار وجود داره یا خیر؟

باید فایل استتیک و در شاخه public ریلز گذاشت فایل ها دراین شاخه وارد middleware نمیشن
صفحه 404 , 500 در ریلز در شاخه public هستن

خب روتشون چجوری میشه؟ واسه هر کدوم باید روت نوشت؟

نه روت میشه وبسایت بعد فایل اگر میخوای زیر یک روت دیگه باشه یک شاخه درست کن تو شاخه public بعد static فایلو بزار
مثلا
Public/about/team.html

1 پسندیده

ارتباطش با layout و assetsچه جوری میشه؟

هیچ ارتباطی نداره

1 پسندیده

یعنی کاملا مستقل هستن. نه نمیخوام اینجوری باشه. میخوام از تمام فانکشنالیتی ها استفاده کنن.

یه کنترل ساده بساز که یه ویو رو سرو کنه همین. اگه تعداد زیاده می تونه از Markdown برای محتوا استفاده کنی و رندرشون کنی تو یه ویو ثابت

1 پسندیده

حجم محتوا زیاد نیست. تعداد صفحات زیاد میشه. یعنی اگه یه کنترلر داشته باشم کلی اکشن باید بنویسم واسش. یه جم پیدا کردم به نظرم جالبه. High Voltage یه نگاه بندازید ببینید نظرتون چیه؟

از اون جم می تونی استفاده کنی اما کلا کاره پیچیده ای نیست یه کنترلر می خوای و به ویو با یه سری فایل markdown که تازه می تونی کش هم بکنی.

منظورت اینه که به ازای هر پیج یه کنترلر؟ یا یه کنترلر با اکشن های متعدد؟

منظورم اینه که یک کنترلر و با یک اکشن در کل

واسه همشون فقط یه کنترلر و یه اکشن؟ چطور؟

عرض کردم. فقط کافیه محتوا رو از فایل های markdown که جایی ذخیره می کنی بخونی. و رندر و کش کنی. یه چی تو این مایه ها

class SomeController < ....
  def static_page
    @content = Markdown.render(File.read(params[:file_path]))
  end
end
3 پسندیده