Как перезагрузить частичные страницы в Rails с помощью RJS?

Привет В настоящее время я работаю над проектом рельсов. где я должен перезагрузить частичную страницу.

Например Создать действие

 def create
    # Some transaction to the database 
   respond_to do |format|
     format.html {render :text => 'Add post' }
     format.js
   end
  end

В моих представлениях posts/create.js.rjs я хотел бы перезагрузить файл users/_login.html.erb. Он содержит общее количество сообщений или размер сообщения, когда он создает новое сообщение, он должен перезагружать частичную страницу _login. html.erb и отображать увеличенный размер сообщений

В create.js.rjs, если я использую page.reload, он перезагружает всю страницу. Как перезагрузить только частичный файл _login.html.erb внутри create.js.rjs.


person Srinivas M.V.    schedule 03.09.2009    source источник


Ответы (2)


Код будет выглядеть так:

  page.replace_html "login-block-id", :partial => "users/login"

Где login-block-id — это идентификатор элемента, который обертывает ваш шаблон входа в систему.

Обратите внимание, что replace_html может принимать те же аргументы, что и render.

person Bogdan Gusiev    schedule 03.09.2009

Йо мог бы также попробовать

page[:my_div].replace :partial => "/users/login"  

где my_div — это идентификатор элемента, который обертывает ваш шаблон входа в систему.

person Anand Shah    schedule 03.09.2009