我正在使用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?
答案 0 :(得分:1)
对于初学者,请确保您的Gemfile中有gem 'jquery-rails'
。然后确保您的html文档<%= javascript_include_tag "application" %>
的头部中有application.html.erb
,并且您所包含的文件application.js
包含以下行:
//= require jquery
//= require jquery_ujs