ruby学习(一)

本文介绍了如何使用Rails命令创建一个新的Rails项目,包括项目的文件结构、依赖管理及数据库迁移等关键步骤,并详细阐述了Rails应用程序的基本运行流程。
新建rails项目
$ rails new first_app 

简单介绍 Rails 默认文件结构

  • app/ 程序的核心文件,包含模型、视图、控制器和帮助方法
  • app/assets 程序的资源文件,如 CSS、JavaScript 和图片
  • bin/ 可执行文件
  • config/ 程序的设置
  • db/ 数据库文件
  • doc/ 程序的文档
  • lib/ 代码库文件
  • lib/assets 代码库包含的资源文件,如 CSS、JavaScript 和 图片
  • log/ 程序的日志文件
  • public/ 公共(例如浏览器)可访问的数据,如出错页面
  • script/rails 生成代码、打开终端会话或开启本地服务器的脚本
  • test/ 程序的测试文件(在 3.1.2 节 中换用 spec/)
  • tmp/ 临时文件
  • vendor/ 第三方代码,如插件和 gem
  • vendor/assets 第三方代码包含的资源文件,如 CSS、JavaScript 和图片
  • README.rdoc 程序简介
  • Rakefile rake 命令包含的任务
  • Gemfile 该程序所需的 gem
  • Gemfile.lock 一个 gem 的列表,确保本程序的复制版使用相同版本的 gem
  • config.ru Rack 中间件的配置文件
  • .gitignore git 忽略的文件类型
运行rails项目

创建完一个新的 Rails 程序后,你可以使用 Bundler 来安装和包含该程序所需的 gem。rails 命令会自动执行 Bundler(通过 bundle install)

$ bundle update
$ bundle install
$ rails server
  • gem 'uglifier', '>=1.3.0' 会安装 1.3.0 或以上的最新版 uglifier gem
  • gem 'coffee-rails', '~> 4.0.0' 只会安装高于 4.0.0 版的 coffee-rails
  • gem 'sass-rails', '4.0.0' 安装指定版本4.0.0的sass-rails文件
rails的脚手架功能 scaffold
  1. 新建User资源 将 scaffold 传递给 rails generate 就可以使用 Rails 的脚手架功能了。传给 scaffold 的参数是资源名的单数形式(本例中就是 User),后面可以再跟着指定数据模型的字段(注意没必要指定 id,Rails 会自动创建并将其设为表的主键(primary key))

     rails generate scaffold User name:string email:string
    
  2. 接下来我们要用 Rake(ruby的make)来迁移(migrate)数据库:

     bundle exec rake db:migrate
    
  3. 然后我们可以使用 rails s(rails server 的缩略形式)来启动本地服务器

  4. Users 资源中页面和 URL 的对应关系

<table> <tr> <td>URL</td> <td>&#21160;&#20316;&#65288;Action&#65289;</td> <td>&#30446;&#30340;</td> </tr> <tr> <td>/users</td> <td>index</td> <td>&#26174;&#31034;&#25152;&#26377;&#29992;&#25143;&#30340;&#39029;&#38754;</td> </tr> <tr> <td>/users/1</td> <td>show</td> <td>&#26174;&#31034; ID &#20026; 1 &#30340;&#29992;&#25143;&#30340;&#39029;&#38754;</td> </tr> <tr> <td>/users/new</td> <td>new</td> <td>&#21019;&#24314;&#26032;&#29992;&#25143;&#30340;&#39029;&#38754;</td> </tr> <tr> <td>/users/1/edit</td> <td>edit</td> <td>&#32534;&#36753; ID &#20026; 1 &#30340;&#29992;&#25143;&#30340;&#39029;&#38754;</td> </tr> <tr> <td> </td> </tr> </table>

rails程序的运行逻辑
  • 浏览器向 /users 发起一个请求;
  • Rails 的路由(config/routes.rb)将 /user 分配到 Users 控制器的 index 动作;
  • index 动作向 User 模型获取所有的用户(User.all);
  • User 模型从数据库中将所有的用户读取出来;
  • User 模型将所有的用户返回给控制器;
  • 控制器将获得的所有用户数据赋予 @users 变量,然后传递给 index 的视图;
  • 视图使用内嵌 Ruby 代码的模板渲染成 HTML;
  • 控制器将生成的 HTML 发送回浏览器。

转载于:https://my.oschina.net/suyewanwan/blog/165119

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值