Forum: Ruby on Rails Attachment_fu. . .HTML involved in immediately associating a

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
A587929f80f37c163f855f5610f2aa0c?d=identicon&s=25 gberz3 (Guest)
on 2007-05-06 02:51
(Received via mailing list)
All,

I'm having trouble wrapping my head around how to associate my IMAGE
model with my PRODUCT model.  Basically I have the obligatory fields
for the attachment_fu association:

class CreateImages < ActiveRecord::Migration

  def self.up
    create_table :images do |t|
      t.column :parent_id,  :integer
      t.column :content_type, :string
      t.column :filename, :string
      t.column :thumbnail, :string
      t.column :size, :integer
      t.column :width, :integer
      t.column :height, :integer
    end
  end

  def self.down
    drop_table :images
  end
end



. . .then I have the models associated through "has_many" and
"belongs_to".  What I can't quite figure out is how to immediately
associate an uploaded image with a product on the same "new" page.
Would I set the "form_for" a PRODUCT and IMAGE independently, or would
I have one nested inside the other?  I'm sorry, I've been coding for
several hours on end now, and I'm admittedly a bit rusty on my HTML
form handling.

Thanks,
Michael
A587929f80f37c163f855f5610f2aa0c?d=identicon&s=25 gberz3 (Guest)
on 2007-05-06 12:47
(Received via mailing list)
. . .anyone?
A587929f80f37c163f855f5610f2aa0c?d=identicon&s=25 gberz3 (Guest)
on 2007-05-06 19:55
(Received via mailing list)
Basically I need to include two models in a single form.  I guess what
I'm looking for is very similar to this thread:

http://www.railsforum.com/viewtopic.php?id=717


. . .but I'm not sure how to include the specific information for the
attachment_fu based IMAGE model (e.g. url, html {multipart. . . . .})


Thanks,
Michael
Df5df936de09aa1a1d4b5476efe79120?d=identicon&s=25 unknown (Guest)
on 2007-05-07 08:47
(Received via mailing list)
Interesting I am working with this same problem all day today...

These posts were most helpful to me, though w/ my barely functioning
app I still have lots of questions myself!

http://significantbits.wordpress.com/2007/04/06/us...

http://railsgrunt.com/2007/3/14/ruby-rails-upload-...

My end goal is to hopefully get to having an object with multiple
images attachable and editable through a single, dynamic form.  If you
find any more articles or code examples on how to do this, please
post!

Hope these help.  Good luck!

Hal
866edcb271e88be4bfd935eea7947730?d=identicon&s=25 Bojan Mihelac (Guest)
on 2007-05-08 12:35
(Received via mailing list)
>
Michael,
approach that I am using is to nest 'documents' (or images) in product
form so field for attachment_fu upload looks something like these:

<input id="product[edit_documents]_1136_uploaded_data" type="file"
size="30" name="product[edit_documents][1136][uploaded_data]"/>

then, in model specify attributes which are set from controller

   attr_writer :edit_documents, :new_documents
   after_save :update_documents

and code for handling actual uploads looks like:

   def update_documents
     opts = @edit_documents || {}
     documents.each { |opt| opt.destroy if !opts.has_key?(opt.id.to_s) }
     opts.each {|key, params|
       Document.find(key).update_attributes(params)
     }
     (@new_documents || []).each { |p|
       next if (p[:uploaded_data].size == 0 && p[:position].empty?  &&
p[:name].empty?)
       self.documents.create(p)
     }
   end

hope that helps a little,
Bojan

--
Bojan Mihelac
-> Ruby on Rails and Web Developer Blog : http://source.mihelac.org
A587929f80f37c163f855f5610f2aa0c?d=identicon&s=25 gberz3 (Guest)
on 2007-05-09 04:21
(Received via mailing list)
Bojan,

Thanks for the post.  I'm still slightly confused.  The code you
posted for the form looks like straight HTML not RHTML.  Could you
clarify a bit as to what is goin on there and perhaps 'rubify' it?

Thanks,
Michael
A587929f80f37c163f855f5610f2aa0c?d=identicon&s=25 gberz3 (Guest)
on 2007-05-10 21:54
(Received via mailing list)
Perhaps I should handle it in the save of the Product?  If
the :uploaded_data var is not nil, then use it.  Any thoughts?
866edcb271e88be4bfd935eea7947730?d=identicon&s=25 Bojan Mihelac (Guest)
on 2007-05-11 02:41
(Received via mailing list)
Michael, I take the code from HTML page as it is created with ROAR and
it would be too much to post all the code here.
I recommend you to download Roar and see how it is done there / it has
many examples and maybe u'd like interface too.

best,
Bojan

gberz3 wrote:
>>> . . .then I have the models associated through "has_many" and
>> form so field forattachment_fuupload looks something like these:
>>
>>      }
> >
>


--
Bojan Mihelac
-> Ruby on Rails and Web Developer Blog : http://source.mihelac.org
866edcb271e88be4bfd935eea7947730?d=identicon&s=25 Bojan Mihelac (Guest)
on 2007-05-11 02:42
(Received via mailing list)
yes, you can handle it in Product.



gberz3 wrote:
>>> form handling.
>>
>>      }
>> --
>> Bojan Mihelac
>> -> Ruby on Rails and Web Developer Blog :http://source.mihelac.org
>
>
> >
>


--
Bojan Mihelac
-> Ruby on Rails and Web Developer Blog : http://source.mihelac.org
This topic is locked and can not be replied to.