Как передать переменные 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 в локальные части партиала, но я попробовал все, чтобы это работало. Ни за что! Кто-нибудь, чтобы помочь мне в этом?

1 ответ

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

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

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

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

Другие вопросы по тегам