Rails 3 AJAX页面在上传图像后重定向

时间:2012-01-31 10:15:00

标签: ruby-on-rails ajax ruby-on-rails-3 ruby-on-rails-3.1

我正在使用AJAX上传图片(带有carrierwave gem)并希望在上传后显示图片而不刷新或重定向页面。目前,在我上传图像后,它会重定向到/ images而不是停留在/ home页面上。

image_controller.rb:

def create
  @image = Image.new(params[:image])
  respond_to do |format|
    if @image.save
     format.js
    end
  end
end

_upload.html.erb:

<%= form_for @image, :html => { :multipart => true }, :remote => true do |f|%>
  <p>
  <%= f.file_field :image %>
  </p>
  <p><%= f.submit "Upload image", :class => 'btn primary', :id => 'image-upload' %></p>
<% end %>  

create.js.erb:

$('images-show').replaceWith('<%=j render 'shared/show_image' %>');

如何在图片上传后阻止重定向到/ images?

1 个答案:

答案 0 :(得分:1)

对于初学者,请确保您的Gemfile中有gem 'jquery-rails'。然后确保您的html文档<%= javascript_include_tag "application" %>的头部中有application.html.erb,并且您所包含的文件application.js包含以下行:

//= require jquery
//= require jquery_ujs