On Sun, Jan 27, 2013 at 11:27 PM, 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 > This should be :add_real_estate_details_attributes > 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 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-/GLpFbbHm0ogJ. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Nicolas Desprès -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

