ERB imposible encontrar ejecutado en los scripts de javascript
-
27-09-2019 - |
Pregunta
Tengo una selección de entrada en mi página. esta selección de entrada Muestra / oculta los campos del formulario. Todo esto funciona bien. Pero el problema es que si presento la forma y carecen de algunos campos necesarios, doesnt ajuste la Selección al valor justo después. Yo sólo puedo conseguir el rubí incrustado al trabajo! que mantiene escapar todo el asunto ... aquí mi código:
$(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();
}
});
});
¿Por qué doesnt este trabajo ??? No consigo cualquier error o cualquier cosa que sólo establece el valor a "<% = @ profile.sex =>" Estaba buscando en Google y búsqueda sobre el desbordamiento de pila y Railscasts, la API de rieles, todo. Im seriamente confundido ...
gracias por su ayuda.
Solución
Trate de eliminar las marcas de graduación en torno '<%= @profile.sex %>'
.
Si necesita las marcas de graduación alrededor de su valor, intente ' + <%= @profile.sex %> + '
Otros consejos
Su script JS no ejecuta código de rubí incrustado. He aquí una descripción de cómo resolver esto:
Es posible que desee echar un vistazo a jsvars . Lo estoy usando en uno de mis proyectos y es bastante grande. Se pueden configurar las variables JavaScript justo en el controlador mediante la asignación de un hash:
jsvars[:profile_sex] = @profile.sex
entonces usted podría hacer $ ( "# profile_sex") val (profile_sex);. en su script. Se podría resolver su problema y hacer las cosas más bonita al mismo tiempo.
Es sólo una idea!