ROR笔记 4

来源:互联网 发布:迷糊系统 相似矩阵 编辑:程序博客网 时间:2024/06/18 10:14

由于空间只支持rails2.3.11所以现在暂时不学rails3了,相对来说rails2的书籍还是挺多的

 

目前在看的是:Web开发敏捷之道——应用Ralls进行敏捷Web开发,第3版,需要的可以在这儿下载:

 

我准备先做个采集性质的网站先玩着,看下前面的基础部分然后自己开始写,遇到了问题再读相关的章节,我觉得这样感受比较深。如果跟着他的例子走,很多东西他都已经帮我们分析好了,看了一遍可能感觉还是不知道怎么写自己的网站

 

 

1、新建model:

ruby script/generate model abc   title:string auth:string content:text 

可以在命令行指定所有的数据类型也可以自己编辑生成的model文件,生成的文件在app/models里面

注意:后面的字段之间要有空格,字段内部不能有空格,比如:title :string  title后面与冒号之间多了个空格就错了

 

2、新建controller:

ruby script/generate controller abc fgh

abc就是controller,fgh就是对应abc里的action了,这个会同时生成相应的view

 

3、新建脚手架

ruby script/generate scaffold abc title:string auth:string content:text 

这个就是帮你同时生成了action、model和view而已,并且生成的文件里有些基础的示例代码,默认的有index、show、edit、create之类的action,并且相应的view会取出对应model的数据放到index、show、edit这些页面上。初学可以用用,以后估计用的少,生成的东西太简单,基本上就是把model的各个成员全部罗列出来而已。

 

4、新建migrate任务

ruby script/generate migrate abc

这个就是迁移任务了,其实他实现的还是比较简单的,就是把每个迁移任务前面加上日期,然后在数据库里记录哪些任务被执行了。虽然简单但是很有用,版本式的数据库管理在测试的时候还似乎挺顺手的

如果你要修改数据库最好做个迁移任务,这样以后可以回滚而且也能看出你什么时候而且怎么修改了数据库

 

 

下面是我实际中遇到的一些问题

 

1、rails abc -D

如果要以fcgi、cgi等方式部署就要加上-D参数,会在public目录下生成需要的dispatch.fcgi等

注意是大写的D,小写的是选择数据库的

如果是本地生成的程序然后放到虚拟主机上部署,记得修改dispatch.fcgi的第一行,比如windows下可能是:#!D:/Ruby187/bin/ruby,linux下就需要改成:#!/usr/bin/ruby

 

2、dispatch.fcgi需要改成 755不然不能执行

 

3、虚拟主机上的配置,我用的是hostmonster,网上的攻略一般是新建一个子域名,然后用ln -s来将你的rails程序的public目录链接到public_html目录下与那个子域名同名

 

我的rails程序就是我的整个网站,我直接把程序部署在public_html目录了,就是把你的rails程序的根目录下的所有东西全部复制到public_html下了:

rails

rals

注意:记得把public目录下的.htacess和dispatch.fcgi放到public_html目录

 

.htacess的内容后面给出

 

4、开启hostmonster上的gzip压缩

hostmonster上提供的是mod_deflate,在.htacess加入下面内容即可:

 

AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json

Header append Vary Accept-Encoding

 

.htacess的全部内容如下:

 

 

 

rails