هل هناك طريقة لتنفيذ روبي مضمن في ملف JavaScript في دليل /جافاسكورتس العام /JavaScripts؟

StackOverflow https://stackoverflow.com/questions/2726421

سؤال

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

أريد أن أضع هذا في ملف منفصل في دليل /العام /JavaScripts ، لكن يتم إنشاء الكثير من JavaScript بواسطة Ruby المضمن. يتم تجاهل هذا الياقوت المضمّن ويتم نقله إلى المتصفح إذا وضعت الرمز هنا.

ما هي أفضل طريقة (إن وجدت) لتنفيذ هذا الياقوت المدمج ويتم إنشاء جافا سكريبت بنفس الطريقة كما لو كانت في رأيي؟

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

المحلول

يمكنك إنشاء قوالب ERB ديناميكية لـ JavaScript ، لكنها لا تذهب في دليل الجمهور/JavaScripts.

أقترح عليك نقل جافا سكريبت إلى جزئي. قم بإنشاء ملف يسمى _form_js.html.erb ووضع محتوى علامة البرنامج النصي هناك. ثم <٪ = render: partial => 'form_js' ٪> من عرضك.

كملاحظة جانبية ، من المحتمل أن تكون أفضل حالًا في استخدام JavaScript ثابت تمامًا يحدد عناصر النموذج من خلال فئة/معرفهم وتفاعل مع هذا ، بدلاً من استخدام JavaScript المخصص لكل عنصر.

نصائح أخرى

يمكنك إنشاء قوالب RJS وتجميع رمز JavaScript الخاص بك في ملفات RJS. أشير: http://www.codyfauser.com/2005/11/20/rails-rjs-templates

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