免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6478 | 回复: 11
打印 上一主题 下一主题

[Ruby on Rails][001]起步 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-02 12:52 |只看该作者 |倒序浏览
[Ruby on Rails][001]起步

实例1:

写一个blog网站。

网站有首页,首页有链接指向blog列表。

blog列表中有“添加"按钮,指向添加blog页面。

blog列表中每条记录都有"显示“按钮,在新页面显示blog内容。

blog列表中每条记录都有"修改“按钮,在新页面修改blog内容。

blog列表中每条记录都有"删除“按钮,弹出对话框,确认删除,删除本条blog。

============================================================

开始一步步做了!

一、新建一个网站。

1、新建一个名叫blog的rails工程,数据库用mysql。

view sourceprint?
  1. 1 $ rails new blog -d=mysql
复制代码
这样就自动创建了一个名叫blog的目录,里面包含了rails工程的所有文件。

进入blog目录。

view sourceprint?
  1. 1 $ cd blog
复制代码
2、安装工程所需要的gems。

view sourceprint?
  1. $ bundle install
复制代码
3、配置数据库。

编辑 config/database.yml 文件。

view sourceprint?
  1. 1 development:  

  2. 2   adapter: mysql2  

  3. 3   encoding: utf8  

  4. 4   database: blog_development  

  5. 5   pool: 5

  6. 6   username: root  

  7. 7   password:  

  8. 8   socket: /tmp/mysql.sock
复制代码
根据自己的实际情况修改 username 和 password 的值。

4、创建数据库。

view sourceprint?
  1. $ rake db:create
复制代码
5、网站创建完毕。运行网站。

view sourceprint?
  1. $ rails server
复制代码
6、查看网站。

在浏览器中输入网址: http://localhost:3000/

显示如下页面:



新建网站成功。

二、建立网站首页

1、新建controller和action。

view sourceprint?
  1. 1 $ rails generate controller home index
复制代码
这样就新建了一个名为home的controller和该controller下的名为index的action。

2、修改index的view的内容。

编辑 app/views/home/index.html.erb 的内容。

view sourceprint?
  1. 1 <h1>Hello , Rails! </h1>
复制代码
3、删除默认首页。

view sourceprint?
  1. 1 $ rm public/index.html
复制代码
4、设置home#index为默认首页。

在 config/routes.rb 文件中添加一句:

view sourceprint?
  1. root  :to => "home#index"
复制代码
5、运行网站,查看首页。

在浏览器中输入网址: http://localhost:3000/

显示如下页面:



三、开发blog系统

rails可以瞬间就完成从建数据表到实现增删改查的过程。

1、使用scaffold命令快速创建blog系统。

数据库存储一条blog需要存储 发布者、blog标题、blog内容。

所以:


view sourceprint?
  1. 1 $ rails generate scaffold Post name:string title:string content:text
复制代码
2、生成数据表。


view sourceprint?
  1. $ rake db:migrate
复制代码
3、在首页建立到blog列表的链接。

在 app/views/home/index.html.erb 里添加:


view sourceprint?
  1. 1 <%= link_to "my blog",posts_path %>
复制代码
4、运行网站,查看效果。

首页:



blog列表:



新建blog:









页面不一一列举了。

6.png (5.55 KB, 下载次数: 37)

6.png

论坛徽章:
0
2 [报告]
发表于 2011-06-04 15:48 |只看该作者
村草,支持!

论坛徽章:
0
3 [报告]
发表于 2011-06-28 00:05 |只看该作者
$ rails generate scaffold Post name:string title:string content:text

请问, 这三个段, 自动生成的sql是什么, 唯一索引值呢, 关键索引呢, 都是什么。

论坛徽章:
0
4 [报告]
发表于 2011-06-28 00:07 |只看该作者
本帖最后由 coolesting 于 2011-06-28 00:10 编辑

假设人要修改上面那个表单, 从别的表中的字段添加进去那个form中, 一起提交,

或者说, 二个表有一个字段关联, 如果把别的表的字段也一起读出来, 生成这个form.


例如 ,

建立二表, 如下
表A(aid, text, content)
表B (uid, name, pawd)

我要把这四个字段 , uid, aid, text, content 读出来放在同一个form上, 一起提交,

能不能自动自成这个form

论坛徽章:
0
5 [报告]
发表于 2011-06-28 08:24 |只看该作者
多表关联不是问题。

论坛徽章:
0
6 [报告]
发表于 2011-06-28 09:41 |只看该作者
假设人要修改上面那个表单, 从别的表中的字段添加进去那个form中, 一起提交,

或者说, 二个表有一个字 ...
coolesting 发表于 2011-06-28 00:07



    rails用的ORM系统(ActiveRecord),ORM自动帮你做了很多工作。
关于ORM好坏的讨论一直没终止过。
不过总而言之,在framework里,为了整体集成性,ORM不可或缺。

论坛徽章:
0
7 [报告]
发表于 2011-06-28 13:07 |只看该作者
试试asp.net mvc吧,我觉得比RoR好。

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
8 [报告]
发表于 2011-06-28 13:24 |只看该作者
原来楼主是村草,我一直以为是中关村草夫……

论坛徽章:
0
9 [报告]
发表于 2011-06-28 15:04 |只看该作者
试试asp.net mvc吧,我觉得比RoR好。
2gua 发表于 2011-06-28 13:07



    window 上来说asp.net的确是首选

论坛徽章:
0
10 [报告]
发表于 2011-06-28 15:57 |只看该作者
window 上来说asp.net的确是首选
coolesting 发表于 2011-06-28 15:04



    不只是这个因素,关键是结构体系。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP