これを手伝っていただければ幸いです。Railscasts のエピソード 381 ( http://railscasts.com/episodes/381-jquery-file-upload ) をフォローしています。複数の画像をアップロードできるようにしたい。キャリアウェーブジェムを使用しています。実際の問題が何であるかは少しわかりませんが、画像がアップロードされたときにパーシャルをロードすることに関係があると思います。基本的に、ブラウザコンソールに画像をアップロードすると、
"POST http://127.0.0.1:3000/slides 404 (Not Found)"
slides_controller
class SlidesController < ApplicationController
def index
@slide = Slide.all
end
def new
@slide = Slide.new
end
def create
@slide = Slide.create(params[:slide])
# @slide = Slide.new(params[:slide])
# if @slide.save
# flash[:notice] = "Successfully created slide."
# redirect_to :back
# else
# render :action => 'new'
# end
end
end
_slides.htm.erb
<div class="slide">
<%= link_to image_tag(slide.image_url(:thumb)), slide if slide.image? %>
<div class="name"><%= slide.name %></div>
<div class="actions">
<%= link_to "edit", edit_painting_path(painting) %> |
<%= link_to "remove", painting, :confirm => 'Are you sure?', :method => :delete %>
</div>
</div>
<%# Slide.where(:slideshow_id => @slideshow.id).find_each do |slide| %>
<%#= slide.name %>
<%#= image_tag slide.image_url(:thumb).to_s %>
<%# end %>
create.js.erb
<% if @slide.new_record? %>
alert("Failed to upload painting: <%= j @slide.errors.full_messages.join(', ').html_safe %>");
<% else %>
$("#slides").append("<%= j render(@slide) %>");
<% end %>
slides.js.coffee
jQuery ->
$('#new_slide').fileupload
dataType: "script"
add: (e, data) ->
types = /(\.|\/)(gif|jpe?g|png)$/i
file = data.files[0]
if types.test(file.type) || types.test(file.name)
data.context = $(tmpl("template-upload", file))
$('#new_slide').append(data.context)
data.submit()
else
alert("#{file.name} is not a gif, jpeg, or png image file")
progress: (e, data) ->
if data.context
progress = parseInt(data.loaded / data.total * 100, 10)
data.context.find('.bar').css('width', progress + '%')
私の意見では、可動部分がたくさんあるので、私のレポを複製する方が簡単だと思います。
https://github.com/iseabock/pretty_slideshow.git
助けてくれてありがとう!
アップデート:
ついにrailscastアプリを実行できるようになりましたが、私と同じ問題が発生しています! 画像をアップロードしようとすると、次のエラーが表示されます。
POST http://127.0.0.1:3000/paintings 404 (Not Found)