Pergunta

Eu tenho uma entrada selecionada na minha página.esta entrada selecionada exibe/oculta campos no formulário.Tudo isso funciona bem.Mas o problema é que se eu enviar o formulário e faltarem alguns campos necessários, ele não definirá a seleção com o valor correto posteriormente.Eu simplesmente não consigo fazer o Ruby incorporado funcionar!ele continua escapando de tudo...aqui meu 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 que isso não funciona???Eu não recebo nenhum erro ou qualquer coisa, ele apenas define o valor para "<%= @perfil.sex =>" Eu estava pesquisando no Google e pesquisando no transbordamento da pilha e nos scasts ferroviários, a API do Rails, tudo.Estou seriamente confuso...

Obrigado pela ajuda.

Foi útil?

Solução

Tente remover as marcas '<%= @profile.sex %>'.

Se você precisar das marcas em torno do seu valor, tente ' + <%= @profile.sex %> + '

Outras dicas

Seu script JS não executa o código Ruby incorporado. Aqui está uma descrição de como resolver isso:

http://bitprison.net/rails3_dynamic_javascript

Você pode querer dar uma olhada jsvars.Estou usando-o em um de meus projetos e é muito bom.Você pode definir suas variáveis ​​javascript diretamente no controlador, atribuindo a um hash:

jsvars[:profile_sex] = @profile.sex

então você poderia fazer $("#perfil_sexo").val(perfil_sexo); em seu roteiro.Isso pode resolver o seu problema e tornar as coisas mais bonitas ao mesmo tempo.

Apenas um pensamento!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top