ریل 7.1: تغییر در $ load_path

با کار کردن در روبی روی ریل ، باید بدانید که ما نیازی به دستی به پرونده هایی نداریم که در داخل آن ساکن باشند app
پوشه این چارچوب در داخل از بارگیری و بارگیری مجدد پرونده ها در پوشه برنامه و جدا از آن مراقبت می کند ، اگر می خواهیم autoload
هر پوشه دیگری به عنوان مثال lib
، با فشار دادن آن به مجموعه می توان آن را بدست آورد config.autoload_paths
(جزئیات بیشتر را می توان در راهنماها یافت). از نظر تاریخی ، تمام مسیرهای autoload به آن سوق داده شد $LOAD_PATH
بشر
TLDR: $LOAD_PATH
با نام مستعار $:
مجموعه ای از مسیرهای مطلق است که می توانید require
(این ویدیو گرچه کمی قدیمی به من در درک بهتر این مفهوم کمک کرد)
شروع Rails 7_1
مسیرهای خودکار دیگر به آن اضافه نمی شوند $LOAD_PATH
بشر از آنجا که پرونده های autoloaded به عنوان مثال app/models/user.rb
به طور ضمنی “مورد نیاز” هستند ، در واقع منطقی است که نفخ نگیرد $LOAD_PATH
و فقط شامل لیستی از مسیرهایی است که ما باید به آن نیاز داشته باشیم و توسط AutoLoader اداره نمی شود.
اگر از نسخه قبلی ریل در حال ارتقا هستید ، این گزینه بخشی از پیش فرض های جدید Rails 7_1 در زیر پرچم بود
Rails.application.config.add_autoload_paths_to_load_path = false
عدم استفاده از این پیش فرض نیز دیگر مسیرهای خودکار را به سمت خود منتقل نمی کند $LOAD_PATH
بشر
به روزرسانی از نسخه قبلی
از نظر ضربه ، اگر شما فقط از نسخه قبلی ریل به روز شده اید ، بیشتر فرض می کنم که باید در وهله اول به پرونده های خودکار نیاز داشته باشد و در وهله اول لازم نیست و پوشش آزمایشی باید خاطرنشان کند که آیا این می تواند یک تغییر شکستن باشد. علاوه بر این ، من این کار را ابتدا با بازی در اطراف برنامه و بعداً هنگام ارسال به محصول ، این مورد را در یک محیط غیر تولید آزمایش می کنم ، به هرگونه خطایی که ظاهر می شود توجه کنید.
برنامه نویسی مبارک!
منابع: