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 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
on 2013-01-27 23:29
on 2013-01-28 01:12
On Mon, Jan 28, 2013 at 6:27 AM, oto iashvili <optimum.dulopin@laposte.net>wrote: > category_id > id > accepts_nested_attributes_for :ad_real_estate_details, allow_destroy: > 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. > 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/-.... > For more options, visit https://groups.google.com/groups/opt_out. > > > --
on 2013-01-28 11:20
On Sun, Jan 27, 2013 at 11:27 PM, oto iashvili <optimum.dulopin@laposte.net>wrote: > category_id > 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 > but this only work for other category than real_estate > does anyone have a solution for this kind of problem ? > https://groups.google.com/d/msg/rubyonrails-talk/-.... > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Nicolas Desprs
on 2013-01-29 18:00
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... 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 ? Le lundi 28 janvier 2013 01:10:30 UTC+1, jim a crit :
on 2013-01-29 18:00
On Tue, Jan 29, 2013 at 7:41 PM, oto iashvili <optimum.dulopin@laposte.net>wrote: > 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. >>> >>> text >>> color >>> end >>> detail tables , what I thing is non-sense as some ads can have no details, >>> inherite from it, but this is not possible with rails as all subclasses >>> To unsubscribe from this group, send email to rubyonrails-ta...@** >> > email to rubyonrails-talk+unsubscribe@googlegroups.com. > > To post to this group, send email to rubyonrails-talk@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-.... > > For more options, visit https://groups.google.com/groups/opt_out. > > > --
on 2013-01-30 11:49
I want to do @ad = Ad.attributes(params[:ad]) maybe Im wrong, but as I understood about polymorphic in rails, this would thow an error say that ad_real_estate_details does not exist as they explained here http://stackoverflow.com/questions/3969025/accepts... Le mardi 29 janvier 2013 13:39:18 UTC+1, jim a crit :
on 2013-01-30 15:29
On Wed, Jan 30, 2013 at 6:48 PM, oto iashvili <optimum.dulopin@laposte.net>wrote: > I want to do > @ad = Ad.attributes(params[:ad]) > maybe Im wrong, but as I understood about polymorphic in rails, this would > thow an error say that ad_real_estate_details does not exist > > as they explained here http://stackoverflow.** > com/questions/3969025/accepts-**nested-attributes-for-with-** > belongs-to-polymorphic<http://stackoverflow.com/questions/3969025/accepts... > As I've said, don't use accepts_nested_attributes_for. Create a getter and setter method for each kind of details that you want. If you don't want to do that, create an attr_accessor for the details, and create the detail record in a callback. >>> >>> classes that inherit from User classes. I would be non sense to create >>> >>>>> i' trying to re-create my project from php to rails. But now Im faced >>>>> >>>>> brand >>>>> >>>>> details, but details are non-sense without an ad. >>>>> subclasses will share the same table >>>>> googlegroups**.com. >>>> >>> >> > email to rubyonrails-talk+unsubscribe@googlegroups.com. > To post to this group, send email to rubyonrails-talk@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-.... > > For more options, visit https://groups.google.com/groups/opt_out. > > > --
on 2013-01-31 00:09
hi thanks for answer sorry I quite new in RoR. If I do how u said, will I have to validate "manually" all the attributes for details ? Le mercredi 30 janvier 2013 15:27:43 UTC+1, jim a crit :
on 2013-01-31 02:09
On Thu, Jan 31, 2013 at 7:08 AM, oto iashvili <optimum.dulopin@laposte.net>wrote: > hi > > thanks for answer sorry I quite new in RoR. If I do how u said, will I > have to validate "manually" all the attributes for details ? > Now that you've asked that, I'm not sure. You can try to use validates_associated and use a before_validation callback >>> >> >>>>> Hi, >>>>> image we have Student (age, classe, ...) and Teacher (subject_taught) >>>> >>>>>>> hi, >>>>>>> title >>>>>>> ad_id >>>>>>> allow_destroy: true >>>>>>> add a reference in my "ad" table to the detail tables, and remove >>>>>>> I was also thinking of a class AdDetails, and AdRealEstateDetail >>>>>>> To post to this group, send email to rubyonra...@googlegroups.**com. >>>>>>> >>>>> You received this message because you are subscribed to the Google >>>>> . >>> -- >>> . > -- > > --
on 2013-01-31 10:12
On 30 January 2013 23:08, oto iashvili <optimum.dulopin@laposte.net> wrote: > hi > > thanks for answer sorry I quite new in RoR. If I do how u said, will I have > to validate "manually" all the attributes for details ? If you are new to rails there are probably many other basic features that you are not aware of. I suggest you work right through a good rails tutorial such as railstutorial.org, which is free to use online. That will introduce you to the basics. Also look through the Rails Guides, the one called Active Record Validations and Callbacks should cover what you are looking for. Also look through the others. Colin
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.