On Tue, Jan 29, 2013 at 7:41 PM, oto iashvili
<[email protected]>wrote:

> Hi,
>
> thanks for answer. My pb with polymorphic is that I would have to create
> first in db a ligne for ad_real_estate_details and then create my ad, what
> is non sense for me, in terms of logic.
> and it might brings some pb as I read there
> http://stackoverflow.com/questions/3969025/accepts-nested-attributes-for-with-belongs-to-polymorphic
>
> lets have another example which is almost the same
>
> image we have Student (age, classe, ...)  and Teacher (subject_taught)
> classes that inherit from User classes. I would be non sense to create
> first a Teacher entity, and then to link it to User, no ?
>

Why are you thinking of creating the details first?  Why not create the ad
first, then add the details later? Sometimes, accepts_nested_attributes_for
is not always the answer for creating association records.  Try to look
into virtual attributes
and callbacks.


>
>
> Le lundi 28 janvier 2013 01:10:30 UTC+1, jim a écrit :
>>
>>
>>
>>
>> On Mon, Jan 28, 2013 at 6:27 AM, oto iashvili <[email protected]>wrote:
>>
>>> hi,
>>>
>>> i' trying to re-create my project from php to rails. But now Im faced
>>> with a pb to witch I had solution with php, but I cant figure how to make
>>> it work with rails
>>>
>>> here my tables
>>>
>>> ads
>>>   id
>>>   category_id
>>>   title
>>>   text
>>>
>>> ad_real_estate_details
>>>   id
>>>   ad_id
>>>   nb_room
>>>   floor
>>>
>>> ad_car_details
>>>   id
>>>   ad_id
>>>   color
>>>   brand
>>>
>>> here what I succeed to do
>>>
>>>
>>> class Ad < ActiveRecord::Base
>>>   attr_accessible :category_id :title, :text, :ad_real_estate_details
>>>   has_one :ad_real_estate_details
>>>   accepts_nested_attributes_for :ad_real_estate_details, allow_destroy:
>>> true
>>> end
>>>
>>> class AdRealEstateDetail < ActiveRecord::Base
>>>   belongs_to :ad
>>>   validates :ad_id, presence: true
>>> end
>>>
>>> but this only work for other category than real_estate
>>>
>>> so I was thinking of polymorphism, but polymorphism mean I should add a
>>> reference in my "ad" table to the detail tables, and remove annonce_id from
>>> detail tables , what I thing is non-sense as some ads can have no details,
>>> but details are non-sense without an ad.
>>>
>>
>> i think you have it right when you mentioned using polymorphic
>> associations.  it is fine to leave the polymorphic association
>> nil if the ad has no details if that's what you're worried about.
>>
>>
>>>
>>> I was also thinking of a class AdDetails, and  AdRealEstateDetail would
>>> inherite from it, but this is not possible with rails as all subclasses
>>> will share the same table
>>>
>>> does anyone have a solution for this kind of problem ?
>>>
>>> thanks
>>>
>>>  --
>>> 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.
>>>
>>> To view this discussion on the web visit https://groups.google.com/d/**
>>> msg/rubyonrails-talk/-/**GLpFbbHm0ogJ<https://groups.google.com/d/msg/rubyonrails-talk/-/GLpFbbHm0ogJ>
>>> .
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
>>
>>
>> --
>> ------------------------------**------------------------------**-
>> visit my blog at http://jimlabs.heroku.com
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rubyonrails-talk/-/zT4pri8N4GUJ.
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
-------------------------------------------------------------
visit my blog at http://jimlabs.heroku.com

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to