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
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.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment