Ruby on rails rails3ajax页面上传图像后重定向

Ruby on rails rails3ajax页面上传图像后重定向,ruby-on-rails,ajax,ruby-on-rails-3,ruby-on-rails-3.1,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

我正在使用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 %>  
{:multipart=>true},:remote=>true do | f |%>

“btn主节点”,:id=>“图像上载”%>

create.js.erb:

$('images-show').replaceWith('<%=j render 'shared/show_image' %>');
$('images-show')。替换为(“”);

如何防止图像上传后重定向到/images?

对于初学者,请确保gem文件中有
gem'jquery rails'
。然后确保html文档
application.html.erb
的头部有
,并且包含的文件
application.js
包含以下行:

//= require jquery
//= require jquery_ujs

对于初学者,确保gem文件中有
gem'jqueryrails'
。然后确保html文档
application.html.erb
的头部有
,并且包含的文件
application.js
包含以下行:

//= require jquery
//= require jquery_ujs

我不知道你的问题的答案,但有一点友好的建议。在呈现分部代码时始终使用escape_javascript以避免恶意代码。有关更多信息,请参阅。所以它应该是
$('images-show').html(“”)谢谢你的建议!不知道escape_javascript到底做什么。我在API文档中读到j可以用来代替escape_javascipt,这是真的吗?它正在做一个POST请求。我如何告诉它执行GET请求?我不知道您的问题的答案,但有一点友好的建议。在呈现分部代码时始终使用escape_javascript以避免恶意代码。有关更多信息,请参阅。所以它应该是
$('images-show').html(“”)谢谢你的建议!不知道escape_javascript到底做什么。我在API文档中读到j可以用来代替escape_javascipt,这是真的吗?它正在做一个POST请求。我如何告诉它执行GET请求?