Hello, I''ve got some experience in Java, and recently, I''ve begun to practice with Rails. One of the things that has surprised to me, after I''ve read some books, it''s that classes hasn''t got attributes; the attributes are in the files db/migrate/*. After that, the ORM makes the mapping with de Database. But the attributes aren''t in the files app/models/*. It''s difficult to me see the class without attributes; in Java is different. Is there anything bad in this idea? -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
On Sat, Jul 21, 2012 at 3:54 AM, Cortomix aa <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> One of the things that has surprised to me, after I''ve read some books, > it''s that classes hasn''t got attributes; the attributes are in the files > db/migrate/*. After that, the ORM makes the mapping with de Database. > But the attributes aren''t in the files app/models/*.Not all classes in a Rails app inherit from ActiveRecord::Base :-) And you can have attributes that come from mixed-in modules. It''s not all about an ORM mapping.> It''s difficult to me see the class without attributes; in Java is > different. Is there anything bad in this idea?Sorry, I''m not sure what you''re asking. -- Hassan Schroeder ------------------------ hassan.schroeder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org http://about.me/hassanschroeder twitter: @hassan -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
Thank you for your answer Hassan, I explain my problem. If I''ve got a Person class in my model, with Rails I will have a class CreatePersons (for example) in db/migrate/ with its attributes (name, address, telephone...) class CreatePersons< ActiveRecord::Migration def change create_table :persons do |t| t.string :name t.string :address ..... t.timestamps end end end And I''ll have the class Person in app/models, but in this class, I mustn''t put the attributes name, address... class Persona < ActiveRecord::Base end If I work with the Person class, I will have a class without attributes name or address!! Is it right what I''ve told? Or, haven''t I understood de idea in Rails? Thanks! -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
Hassan Schroeder
2012-Jul-21 15:34 UTC
Re: Re: Attributes in classes db/migrate or app/models
On Sat, Jul 21, 2012 at 8:20 AM, Cortomix aa <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> I explain my problem. If I''ve got a Person class in my model, with > Rails I will have a class CreatePersons (for example) in db/migrate/ > with its attributes (name, address, telephone...)Which is only used to create the database table, and which may be overridden by later migrations. Once used, it''s meaningless, other than documenting the history of development.> class Persona < ActiveRecord::Base > end> If I work with the Person class, I will have a class without attributes > name or address!!The class has those attributes; what makes you think it doesn''t? It just isn''t necessary for them to be written in the file that defines the class for them to exist; ActiveRecord derives them from the schema of the database. Open up a console session and play with it.>> person = Person.new >> person.name= "Bob" >> person.name=> "Bob" Create a non-AR class and experiment with it. Learning through interactive exploring is one of the advantages of Ruby over Java :-) -- Hassan Schroeder ------------------------ hassan.schroeder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org http://about.me/hassanschroeder twitter: @hassan -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.