====== Tip Sheet For Beginners ====== ===== Getting started ===== ====建立akelos项目==== ./akelos website_name ==== 创建一个Controller和一个Model==== ./script/generate type name "type"的位置是 **controller** 或者 **model** , "name" 由你决定. 你也可以试一试下面的方法 ./script/generate scaffold for information on creating scaffolds ===== Conventions ===== ==== 数据库中表的模式 ==== 复数形式,两个单词之间要用下划线代替空格,例如 **steering_wheels** Akelos 自动处理 creation date/time 和 update date/time , 所以你不需要自己写代码了。 在一定范围之内处理时间和查询也许是非常敏捷的, 如果你使用了Akelos的约定,这些都来的简单。 使用习惯约定,如果你添加了一列名为"created_at"或者"updated_at",akelos 为你自动处理这些字段而且如果你在migration中命名了一个字段,例如"posted_at"他会设置这个字段的类型和长度, 这个例子中类型是, datetime. 如果你使用了"created_on"他将只会使用"date"。 ==== Model ==== 单数形式,首字母大写,使用骆驼写法,像这样**SteeringWheel** 下面是数据的检验。 === 表与表之间的关系 === Model文件中有这样的信息,显示如下,//belongs_to//和//has_many//并且akelos自动的显示了他们之间的联系,使用这样的字段像story表中的//author_id//。 * **[[belongs_to|belongs_to]]** - Story model 隶属于 Author.当一个数据表用belong_to连接到另一表的时候,你能关联到那个表的字段,通过把关系名附加到这个类名。例如,如果 product隶属于category,然后在处理product的视图中,你也能通过$Product->category->name获得category name。 * **[[has_many|has_many]]** - 一个作者有很多小说 复数的事物。更应该注意-- Akelos再一次的使用了单数和复数, 所以确定你包含了适当的‘s’。 ==== Controller ==== 习惯上是使用model名字的复数来定义Controller的名字的,例如 **stories** controller, **authors** controller *说一下做什么,和在那里作。有像这样的逻辑"if post is not valid, send error about validation"。 * 从model中为view准备变量。 * 建立数据表的变量,可以在API中使用类似find('all')之类的命令。 ==== View ==== Akelos的html是什么样的呢 => tpl * 使用Controller的变量并且打印他们 * 从controller中获得变量,代替了这种方法$this-> symbol with $ ( Ex. $this->movies in bob_controller action submit => allows submit.tpl to access something called $movies ) * scaffolding在视图清单中建立了edit, show, and delete的links。显示另一个字段来代替当前的,可以用这种方法 <%= link_to product.name, :action => 'show', :id => product.id %>