Ruby on Rails Thursday, January 17, 2013

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> 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.
>> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
>> 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.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> 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+unsubscribe@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.
 
 

No comments:

Post a Comment