Rails 关于Rails那些奇奇怪怪的新手笔记

这两天属于北京填鸭式的给自己灌输了一堆Rails的知识,其实心挺累的,最后几乎看不进去了……

首先先说明,当Rails创建Controller\Model之类的同时,他会创建一堆方法!!!
首先先说明,当Rails创建Controller\Model之类的同时,他会创建一堆方法!!!
首先先说明,当Rails创建Controller\Model之类的同时,他会创建一堆方法!!!

因为很重要所以要说三遍。

这里也就是草稿的集合,具体请查询相关教程手册。

在Controller中的实例变量如@users可以在View层直接使用:$users

如果你使用的是rails generate scaffold Users那么会同时创建routes、Controller、Model、View。

在Rails中的Model主要起到的是写入数据库前的数据验证,一般规范为:validates symbol, limitation

在建立一对多的关系时,需要在多的那个关系表中创建一列外键xxx_id,在一的关系中使用has_many,在多中使用belong_to就能将他们俩建立连接。

撤销操作很容易,如果是rails generate那么用rails destroy即可,如果是rake db:migrate则可以使用rake db:rollback回到上一个版本或者使用rake db:migrate VERSION=0(数字请随意)将数据库还原至指定版本,0为最前。

在View里的一个页面定义provide(:title, 'Home') 接下来使用<%= yield(:title) %>即可对其进行调用。

如果你想定义通用模板,那么在layout/application.html.erb中写完,中间留一句`<%= yield %>之后会将创建的各View填充进去。

无论什么方法,只要最后的可选参数是关于html各种属性的,那么都可以用Hash的方法传入(大概),之所以看着很零散是因为如果Hash是最后一个参数,那么花括号可以省略。

如果需要重复使用,除了通用模板外,我们还可以插入局部视图,就跟include('header.php')差不多的用法啦,<%= render 'layouts/shim' %>此时我们应该在views/layouts/中建立有一个_shim.html.erb中建立好一个文件。

link_to中的about_path,对应的是路由中的命名。

数据库迁移文件中的t.timestamp会创建两个列,一个是create_at一个是update_at

在查找数据库数据的时候有两种方法,一种是User.find_by_email("")(没错这是自动生成的方法,email为列名),另一种是User.find_by(email: "");

需要更新数据时使用user.email(""),后使用user.save或者使用user.update_attributes(email: ''),会执行更新和保存操作。

重置数据库只要执行一句db:reset就能删除所有测试数据。

如果要进行数据库的ORDER BY操作可以在Model里进行:default_scope->{order('create_at DESC')}

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 知识, 语法, Rails

添加新评论