Альтернатива для link_to_remote's: обновление в rails3

Я нахожусь в процессе преобразования моего кода рельсов, который был разработан в версии 2, в рельсы 3.

Ранее я использовал функцию link_to_remote для создания ссылки. В ней я отображал страницу в поле div, используя опцию ": update".

 <%= link_to_remote @processes_tree[x]["name"],:update => "toprightdiv", :url => { :action => "editproduct", :id => @processes_tree[x]["id"]}%>

Теперь в рельсах link_to_remote недоступен, поэтому я использовал link_to. Но в нем опция: update недоступна.

Поэтому я не могу показать страницу в поле div. Когда я нажимаю на ссылку, для ссылки отображается новая страница. Есть ли в rails3 какой-либо альтернативный способ? Пожалуйста, помогите мне решить эту проблему.

2 ответа

Решение

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

Как правило, вам нужно использовать link_to и установить :remote к истине. Затем выполните обновление, обработав ответ в представлении.js или аналогичном.

Вы также можете воспользоваться этой экранной демонстрацией, демонстрирующей обоснование изменений:

http://railscasts.com/episodes/205-unobtrusive-javascript

:update опция не поддерживается новым link_to :remote => true,

Вам либо придется

  • использовать старый плагин
  • напишите JS/AJAX самостоятельно вместо использования :remote => true
  • использование render :update { |page| p.replace_html ... }
Другие вопросы по тегам