ERB не выполняется в сценариях JavaScript - PullRequest
0 голосов
/ 11 августа 2010

У меня есть выбор входа на моей странице.этот выбор входа отображает / скрывает поля в форме.Это все отлично работает.Но проблема в том, что если я отправляю форму и испытываю недостаток в некоторых обязательных полях, он не устанавливает правильное значение выбора впоследствии.Я просто не могу заставить встроенный рубин работать!он продолжает избегать всего этого ... вот мой код:

$(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 =>». Я гуглял и искал переполнение стека и Railscasts, API-интерфейсы rails, все.Я серьезно смущен ...

спасибо за вашу помощь.

Ответы [ 3 ]

1 голос
/ 13 января 2011

Ваш JS-скрипт не выполняет встроенный код ruby.Вот описание, как решить эту проблему:

http://bitprison.net/rails3_dynamic_javascript

0 голосов
/ 12 августа 2010

Возможно, вы захотите взглянуть на jsvars . Я использую это в одном из моих проектов, и это довольно здорово. Вы можете установить свои переменные javascript прямо в контроллере, присвоив хешу:

jsvars[:profile_sex] = @profile.sex

тогда вы можете сделать $ ("# profile_sex"). Val (profile_sex); в вашем скрипте. Это может решить вашу проблему и одновременно сделать вещи красивее.

Просто мысль!

0 голосов
/ 12 августа 2010

Попробуйте удалить отметки вокруг '<%= @profile.sex %>'.

Если вам нужны галочки вокруг вашего значения, попробуйте ' + <%= @profile.sex %> + '

...