Ruby on rails rails3ajax页面上传图像后重定向
我正在使用AJAX上传图像(使用carrierwave gem),并希望在上传后显示图像,而无需刷新或重定向页面。目前,在我上传图像后,它会重定向到/images,而不是停留在/home页上 image_controller.rb: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
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请求?