has_many:photosのPostモデルがあります。ユーザーが新しい投稿を作成している間、ユーザーは特定の投稿の写真を選択できる必要があります。
ガイドとして、RAILS 3.2.9、nested_form、carrierwave、jquery-fileupload-railsgemおよびryanbatesrailscastsを使用しています。
すべて正しく設定されているようですが、問題は、ユーザーが写真を選択すると(fileupload()関数がトリガーされる)、新しい投稿と新しい写真レコードが作成されることです。「投稿の作成」を押すと、別の投稿レコードが再び作成されます。
任意のヘルプ/アイデアをいただければ幸いです。
どうもありがとうございます。
Petr
class Post < ActiveRecord::Base
has_many :photos, as: :attachable, :dependent => :destroy
accepts_nested_attributes_for :photos, :allow_destroy => true
end
class Photo < ActiveRecord::Base
belongs_to :attachable, polymorphic: true
attr_accessible :image, :description, :post_id, :attachable_id, :attachable_type
mount_uploader :image, PhotoUploader
end
# Post Controller
def create
@post = Post.new(params[:post])
@post.save
end
# _form.html.erb
<%= nested_form_for @post, :html => { :multipart => true } do |f| %>
<%= f.fields_for :photos do |photo| %>
<% if photo.object.new_record? %>
<%= photo.file_field :image, id: "fileupload" %>
<%= photo.hidden_field :id %>
<%= photo.hidden_field :attachable_id %>
<%= photo.hidden_field :attachable_type %>
<% else %>
<%= image_tag(photo.object.image.url(:thumb)) %>
<%= photo.check_box :_destroy %>
<% end %>
<% end %>
<% end %>
#application.js
$('#fileupload').fileupload();