Rails 3.1 Ajax вопрос - PullRequest
       4

Rails 3.1 Ajax вопрос

3 голосов
/ 20 июня 2011

У меня есть эшафот, который называется post и имеет заголовок и описание.На моем макете у меня есть ссылка для создания нового сообщения, которое имеет: remote => true.Как мне это сделать, когда я нажму на эту удаленную ссылку, чтобы изменить содержимое div, чтобы я мог создать новую запись?

1 Ответ

7 голосов
/ 20 июня 2011

Предположим, что действие, которое вы будете использовать, называется new. Вы должны создать файл с именем new.js.erb в представлениях / сообщениях, который будет отображаться при удаленной публикации формы. Этот файл должен включать в себя javascript, который помещает новый пост в div, который вы хотите заполнить. Например, он может содержать

# new.js.erb
$('div#container').html("<p><%= escape_javascript(@post.title) %></p>").append("<p><%= escape_javascript(@post.content) %></p>"); 

Javascript будет выполнен сразу после того, как пост Ajax будет завершен, и новый пост будет создан. Помните следующее: - Вы должны включить JQuery - Вы должны указать в posts_controller возможность рендеринга в формате .js, что-то вроде

# posts_controller.erb
def create
    @post = Post.new(params[:post])

    respond_to do |format|
      if @post.save
        format.html { redirect_to(@post, :notice => 'Post created via non AJAX.') }
        format.js # the actual ajax call
      else
        format.html { render :action => "new" }
      end
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...