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.

