لا يتم تنفيذ ERB في نصوص JavaScript
-
27-09-2019 - |
سؤال
لدي إدخال محدد على صفحتي. هذا تحديد إدخال عروض/حقول يخفي في النموذج. كل هذا يعمل بشكل جيد. ولكن المشكلة هي أنه إذا قمت بإرسال النموذج وافتقر إلى بعض الحقول اللازمة ، فإنه لا يحدد تحديد القيمة الصحيحة بعد ذلك. أنا فقط لا أستطيع الحصول على روبي مضمن للعمل! يستمر في الهروب من كل شيء ... هنا الكود الخاص بي:
$(document).ready(function() {
$("#profile_sex").val('<%= @profile.sex %>')
$("#profile_sex").change(function(){
($(this).val() == "Frau") ? $('#form-female').show() : $('#form-female').hide();
($(this).val() == "Mann") ? $('#form-male').show() : $('#form-male').hide();
if ($(this).val() == "Paar") {
$('#form-female').show();
$('#form-male').show();
}
});
});
لماذا لا يعمل هذا ؟؟؟ لا أحصل على أي خطأ أو أي شيء يضبط القيمة على "<٪ = @profile.sex =>" كنت googling وأبحث عن Overflow و Railscasts ، API Rails ، كل شيء. أنا مرتبك بشكل خطير ...
شكرا لمساعدتك.
المحلول
حاول إزالة علامات القراد حولها '<%= @profile.sex %>'
.
إذا كنت بحاجة إلى علامات القراد حول قيمتك ، فحاول ' + <%= @profile.sex %> + '
نصائح أخرى
لا يقوم البرنامج النصي JS الخاص بك بتنفيذ رمز الياقوت المدمج. فيما يلي وصف كيفية حل هذا:
قد ترغب في إلقاء نظرة على JSVars. أنا أستخدمه في أحد مشاريعي وهو رائع جدًا. يمكنك تعيين متغيرات JavaScript مباشرة في وحدة التحكم عن طريق تعيين تجزئة:
jsvars[:profile_sex] = @profile.sex
ثم يمكنك أن تفعل $ ("#profile_sex"). val (profile_sex) ؛ في السيناريو الخاص بك. قد يحل مشكلتك ويجعل الأمور أجمل في نفس الوقت.
مجرد فكرة!