Предположим, что действие, которое вы будете использовать, называется 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