I have a Post model which has_many :photos. While User creating a new post,
user should be also able to select photos (multiple) for given post.
I am using RAILS 3.2.9, nested_form, carrierwave and
jquery-fileupload-rails gem and ryan bates
railscasts<http://railscasts.com/episodes/381-jquery-file-upload> as
a guide.
All seems to be set up correctly, but problem is, when User choose a photo
(a fileupload() function is triggered), new Post and new Photo record are
created. Once I press "create post" another post record is again
created. Any
help/idea how to get rid off with the first Post record once user select
the photo?
Thank you very much.
Petr
class Post < ActiveRecord::Base
has_many :photos, as: :attachable, :dependent => :destroy
accepts_nested_attributes_for :photos, :allow_destroy => trueend
class Photo < ActiveRecord::Base
belongs_to :attachable, polymorphic: true
attr_accessible :image, :description, :post_id, :attachable_id,
:attachable_type
mount_uploader :image, PhotoUploaderend
# Post Controllerdef create
@post = Post.new(params[:post])
@post.saveend
# _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();
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit
https://groups.google.com/d/msg/rubyonrails-talk/-/qYlaeOva4qQJ.
For more options, visit https://groups.google.com/groups/opt_out.