class Person < ActiveRecord::Base attr_accessible :photo, :name has_many :photos, :as => :attachment, :dependent => :destroy
# I would do this. This will save a portrait_id on a person object, which is the id of a photo. This is most efficient because if you put the "belongs_to" association on the photo object, you'll end up with many photos with nil values for person_id. belongs_to :portrait, :class_name => "Photo" end class Photo < ActiveRecord::Base attr_accessible :file_name, :name belongs_to :attachment, :polymorphic => true end On Wednesday, January 16, 2013 4:36:53 PM UTC-5, Walter Lee Davis wrote: > > > On Jan 16, 2013, at 4:23 PM, Walter Lee Davis wrote: > > > > > On Jan 16, 2013, at 4:16 PM, Dave Aronson wrote: > > > >> On Wed, Jan 16, 2013 at 4:09 PM, Walter Lee Davis > >> <wa...@wdstudio.com<javascript:>> > wrote: > >> > >>> I would like to mark one image as being the "portrait" for this > person, > >> > >> I'd suggest adding that a person has_one portrait, class_name: :Image. > >> In the UI you can have them select one of their Images (or none). > >> > >> -Dave > > > > Does that require me to add another belongs_to to the Image? If I add a > has_one, won't I have to balance that on the other side? > > > > Walter > > Just tried this in my stunt app, and it would require me to add a > person_id to the Photo / Image model, which since it's polymorphic, is sort > of beside the point. > > Walter > > > > >> > >> -- > >> Dave Aronson, the T. Rex of Codosaurus LLC, > >> secret-cleared freelance software developer > >> taking contracts in or near NoVa or remote. > >> See information at http://www.Codosaur.us/. > >> > >> -- > >> 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 > >> rubyonra...@googlegroups.com<javascript:>. > > >> To unsubscribe from this group, send email to > rubyonrails-ta...@googlegroups.com <javascript:>. > >> For more options, visit https://groups.google.com/groups/opt_out. > >> > >> > > > > -- > > 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 > > rubyonra...@googlegroups.com<javascript:>. > > > To unsubscribe from this group, send email to > rubyonrails-ta...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > > -- 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 rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/Due1ZdEDFoIJ. For more options, visit https://groups.google.com/groups/opt_out.