Thanks for your reply. It was helpful.

Elioncho

On Oct 27, 3:14 am, none <[EMAIL PROTECTED]> wrote:
> since post_picture should await post_id as a foreign key, post_picture
> will not be saved properly (or at least will not relate to the
> specified post) if post is not saved. as long as there aint no post.id
> (which is created while saving) you can't save the relation between
> these two objects.
>
> i'd say it's best to save @post and after that create @post_picture
> and save it as well.
>
> def create
>   @post = Post.new(params[:post])
>   if @post.save
>     @post_picture = PostPicture.new(:uploaded_data =>
> params[:post_picture_file])
>     @post.post_picture = @post_picture
>     if @post_picture.save
>       # post and post_picture are saved correctly
>       # ...
>     else
>       # post_picture could not be saved (=> error handling)
>     end
>   else
>     # post could not be saved (=> error handling)
>   end
> end
>
> On 27 Okt., 08:14,elioncho<[EMAIL PROTECTED]> wrote:
>
> > Hello,
>
> > Well I have a post and a post_picture model:
>
> > class Post < ActiveRecord::Base
> >   has_one :post_picture
> > end
>
> > class PostPicture < ActiveRecord::Base
> >   belongs_to :post
> > end
>
> > When a user creates a post he/she can upload a picture. So in the
> > create action on the posts_controller I have the following:
>
> > def create
> >     @post = Post.new(params[:post])
> >     @post_picture = PostPicture.new(:uploaded_data =>
> > params[:post_picture_file])
> >     @post.post_picture = @post_picture
> >     if @post.save
> > ...
> > end
>
> > As you can see I relate the @post_picture with the @post using the
> > line of code
>
> > "@post.post_picture = @post_picture"
>
> > My question is:
>
> > When I do the @post.save does rails treats this as a transaction? (I
> > want to know because there is maybe possible data loss if the post is
> > saved into the posts table and the post_picture is not saved into the
> > post_pictures table or viceversa.
>
> > Thanks,
>
> >Elioncho
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to