Передача: локальный аргумент к частичному представлению link_to_remote - PullRequest
1 голос
/ 25 февраля 2009

Из документации на link_to_remote

Результат этого запроса затем может быть вставлен в объект DOM, идентификатор которого можно указать с помощью параметров [: update]. Обычно результат будет частичным, подготовленным контроллером с помощью render: part.

Например, можно сделать следующее:

<%= link_to_remote( "Some link text", :url => url, :method => method, :update => 'name_of_partial' %>

Есть ли способ передать хеш: locals в частичное (в примере выше, 'name_of_partial'), аналогично тому, когда вы рендерили его с помощью "render: частичный"?

1 Ответ

3 голосов
/ 25 февраля 2009

Вы не совсем поняли. Аргумент :update - это html id элемента, содержимое которого будет заменено содержимым результата этого вызова ajax.

<div id="ajax_message"></div>
<%= link_to_remote 'click me',
                   :url => my_ajax_action_path,
                   :update => 'ajax_message' %>

Рассматриваемая часть отображается в ответ на запрос ajax в вашем контроллере.

def my_ajax_action
  @my_object = MyOobject.find(params[:id]) #or something
  render :partial => 'my_object',
         :locals => { :my_object => @my_object }
end

Полученное тело ответа затем помещается в ранее названный элемент с помощью аргумента :update.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...