سؤال

أنا أعمل على محرك Rails وأحاول كتابة مولد يضع هذا الخط

do_stuff (foo)

كآخر بيان في config/routes.rb, ، دون كسر بناء جملة الملف.

على وجه التحديد ، إذا config/routes.rb يبدو هذا حاليا

Rails.application.routes.draw do
    blah
    more blah
end

بعد تشغيل المولد أود config/routes.rb لتبدو هكذا

Rails.application.routes.draw do
    blah
    more blah
    do_stuff (foo) # injected line
end

نظرت إلى ماذا activeadmin يفعل, ، لكنني غير قادر على إنشاء قاعدة خط آخر بطانية. أي مساعدة يحظى بتقدير كبير.

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

المحلول

لم أختبر ذلك ، لكنني أعتقد أن ما ترتبط به في مولد Activeadmin قد يعمل مثل هذا:

inject_into_file "config/routes.rb", "  do_stuff(foo)\n", :before => /^end/

هذا يجب أن يدرج الكود الخاص بك مباشرة قبل end الرمز المميز الذي يبدأ في بداية الخط. هذا يعمل فقط لملفات الطرق المنسقة بشكل صحيح على الرغم من ....

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