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')}
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。