Как передать переменные javascript в партиал как локальные? Рельсы 4 + Хэмл

У меня есть частичный, который представляет список пользователей, я хочу, чтобы он отправлял разные локальные данные для каждого выбранного пользователя, чтобы обновить часть представления со скрытым вводом, принимающим значение локального. У меня есть это в моих пользователях частично:

  %li
    %a{ :href => "#", :onclick => "test("+user.id.to_s+","+id_current_user+");return false"}

И это функция, которую я вызываю:

:javascript
   function test(with_user, current_user) {
   $("#messages-list").html('');
   $("#message-new").append("#{escape_javascript(render( partial:'messages/form',:locals => {:recipient_id => "with_user" } ))}");
   };

Идея состоит в том, чтобы отправить значение javascript «with_user» в локальные переменные партиала, но я перепробовал все, чтобы заставить его работать. Ни за что ! Любой, кто поможет мне в этом?


person dzof31    schedule 03.02.2014    source источник
comment
Я не знаю точно, но я не думаю, что ваш js будет работать, пока не попадет на клиент. В этот момент у вас будет доступ к частичным файлам, хранящимся на сервере?   -  person Dan Baker    schedule 03.02.2014
comment
Нет, я получаю хорошее частичное значение со строкой with_user в качестве значения для Receiver_id. Я хочу сделать его динамическим с параметром функции javascript, называемой   -  person dzof31    schedule 03.02.2014


Ответы (1)


Этот $("#message-new").append("#{escape_javascript(render( partial:'messages/form',:locals => {:recipient_id => "with_user" } ))}"); не будет работать в браузере, поскольку он не знает, как выполнить код ruby.

Я думаю, вам, возможно, придется вернуться назад и выяснить, почему это нужно отображать именно так.

РЕДАКТИРОВАТЬ

Это расстраивает парсер. Сервер отправляет разметку в браузер только один раз, поэтому после запуска он не узнает о каких-либо динамических переменных JavaScript на клиенте. Я думаю, что должен быть лучший способ сделать это с помощью AJAX.

person beautifulcoder    schedule 03.02.2014
comment
Есть ли способ заставить рубиновый код понять значение _user javascript? Мне это нужно, потому что я обновляю часть html соответствующей переменной. - person dzof31; 03.02.2014
comment
Примечание: браузер понимает код ruby ​​​​здесь, и он работает, проблема в том, что я не нашел решения, чтобы заставить код ruby ​​понимать значение javascript в местных жителей. - person dzof31; 03.02.2014