|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。
经常使用命令- railsnewnew_app
- cdnew_app
- rakedb:create
- railsserver
- railsgeneratecontrollerBlogaction1action2
- railsgeneratescaffoldProducttitle:stringdescription:text
复制代码 railsgeneratemodelCommentcommenter:stringbody:textpost:references- rakedb:migrate
- rakedb:rollback
- railstest:units
- railsconsole
复制代码 商定
rails中有良多的商定,恰是这些商定帮我们节俭了工夫,让我们很明晰的分明项目标布局,文件的地位。
表名商定
表名默许利用model的单数情势,小写。比方:model是Sheep,默许的表名就是sheeps,假如我们想自界说一些其他名字,大概基于一个已存在的数据表举行开辟,不克不及修正这个数据表的称号,那末我们能够经由过程上面的代码来指定表的称号。- classSheep<ActiveRecord::Base
- self.table_name="sheep"
- end
复制代码 表主键的商定
默许主键称号id,整型,自增。在数据表中称号就是id,在model中也经由过程.id来会见。假如想指定其他称号,能够经由过程上面的代码完成。- classLegacyBook<ActiveRecord::Base
- self.primary_ke="isbn"
- end
复制代码 经由过程下面的修正以后,数据表的主键列称号变成isbn,在model中也经由过程.isbn来会见。可是有一个中央破例,就是给主键赋值,仍是必要利用id来赋值。- book=LegacyBoo.new
- book.id="1-214-985"
- book.title="programminginruby"
复制代码 除给主键赋值必要用id,其他时分都用指定的列名。
model的干系
表干系有三种:
one-to-one
one-to-many
many-to-many
在model中利用的声明有:has_one,has_many,belongs_to,has_and_belongs_to_many。
one-to-one- classOrder<ActiveRecord::Base
- has_one:invoice
- end
- classInvoice<ActiveRecord::Base
- belongs_to:order
- end
复制代码 一个定单有一个发票仰面,一对一的干系。
有一条很主要:包括外键的表,必定会有一个belongs_to的声明。
one-to-many- classOrder<ActiveRecord::Base
- has_many:line_items
- end
- classLineItem<ActiveRecord::Base
- belongs_to:order
- end
复制代码 一个定单会有良多的item,一对多的干系。
many-to-many- classProduct<ActiveRecord::Base
- has_and_belongs_to_many:categories
- end
- classCategory<ActiveRecord::Base
- has_and_belongs_to_many:products
- end
复制代码 一个产物属于多个目次,一个目次包括多个产物,多对多的干系。除products表和categories表,会有一其中间表categories_products(category_id,product_id)来寄存这个干系。
我们也能够本人界说干系表,还能够寄存一些其他信息,一些关于干系的信息。实在就是把多对多的干系拆分隔,成为两个一对多的干系,如许也好了解些。
出处http://virusswb.blog.51cto.com/115214/1016250
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 |
|