`
lw223
  • 浏览: 98198 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第2天 一个rails小例子

阅读更多
  还是不会用csdn的blog插入图片,截了很多图,没法插上
用控制写一个简单的rails程序,实现添加,修改,删除功能。建议安装InstantRails,它集成了rails、ruby和mysql数据库。使用很方便。
启动InstantRails,并用它打开windows控制台。
第一步:创建一个新的工程,在控制带输入ruby leaveword 然后回车, 其中leaveword为工程名字。rails会自动在InstantRails下的rails_app目录下建立leaveword工程,并在工程里生成默认目录结构和初始化文件。
在控制台中进入leaveword目录,然后输入 ruby script\server启动服务器
在浏览器里输入http://127.0.0.1:3000可以查看服务器是否启动
 
第二步:在控制台里输入 ruby script\generate controller word命令然后回车,会在leaveword\app\controllers这个目录下生成一个word_controller.rb文件
word_controller.rb自动生成的代码如下
class WordController < ApplicationController
end
第三步:在控制台里输入 ruby script\generate model word命令然后回车,会在leaveword\app\ models这个目录下生成一个word.rb文件
        word.rb自动生成的代码如下
 
class Word < ActiveRecord::Base
end
第四步:在mysql数据库中新建一个名字为leaveword的数据库,然后创建books表,字段包括 
             id    int(10)
               name    varchar 100
leaveword    text
leavedate  date
在InstantRails上点击右上角“I”然后点Configure,选择datebase(via phpmyadmin)就会打开InstantRails自带的mysql管理工具,可以用它新建数据库。
第五步:修改leaveword\config文件夹下面的database.yml文件,将数据库名字改为leaveword。
修改后的database.yml文件如下
# On Windows:
#   gem install mysql
#       Choose the win32 build.
#       Install MySQL and put its /bin directory on your path.
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql
  database: leaveword
  username: root
  password:
  host: localhost

# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: leaveword
  username: root
  password:
  host: localhost

production:
  adapter: mysql
  database: leaveword
  username: root
  password: 
  host: localhost
第六步:打开leaveword\app\controllers目录下的word_controller.rb文件,添加如下代码:scaffold :word。
添加后的word_controller.rb代码如下
class WordController < ApplicationController
      scaffold :word
end
第七步:上面工作都完成后打开http://127.0.0.1:3000/word/new就会看到增删改查已经全部创建好了。
真正手写的代码就是scaffold :word这一行,scaffold :word生成了数据库对应的crud操作,并且同时生成了对应的视图模板。
 <v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"> <v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t">  
       在NetBeans的网站上可以下载到NetBeans的rails开发版本,只有19兆大小,所以我又选择了NetBeans IDE6.0重写leaveword工程,感觉方便了很多,但是开发环境速度有点慢。
<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 516.75pt; HEIGHT: 292.5pt"><v:imagedata src="file:///C:\DOCUME~1\fish\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title="Snap1"></v:imagedata></v:shape>
<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="WIDTH: 516.75pt; HEIGHT: 292.5pt"><v:imagedata src="file:///C:\DOCUME~1\fish\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title="Snap1"></v:imagedata></v:shape>
分享到:
评论

相关推荐

    Rails link_to 详解

    比如添加一个click事件处理: 代码: &lt;&#37;= link_to “Issues”, {:controller =&gt; “issue”, :action =&gt; “index”}, {:onclick =&gt; “alert&#40;1&#41;”} %&gt; 但是值得注意的就是,link_to 的第二个参数,必须...

    雨松MOMO程序研究院

    NGUI研究院之开始学习制作第一个例子(一) Objective-C研究院之基础语法(一) Ruby On Rails研究院之初识Rails(一) Three20研究院之构建开发环境与HelloWorld(一) Unity3D研究院之在开始学习拓展编辑器...

    railstutorial_sample

    这是当初学习 「Ruby on Rails Tutorial 原书第 2 版」时做出来的例子

    a_rails_start_up_omakase:用于启动的预配置Rails应用程序,主要用于oauth,部署和维护

    Rails启动Omakase这些代码整理完善自我八月到九月开发的喜感网第一版的基础部分的代码,同时也是第二版的基础,希望这里面的代码能对他人快速PS:部署和运维比开发难多了...这个repo另一个目的是记录我对rails app...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯...

    nosql 入门教程

    第一印象——两个简单的例子 17 2.1.1 简单的位置偏好数据集 17 2.1.2 存储汽车品牌和型号数据 22 2.2 使用多种语言 30 2.2.1 MongoDB驱动 30 2.2.2 初识Thrift 33 2.3 小结 34 第3章 NoSQL接口与交互 36 ...

    Ruby类继承、抽象类、类拓展混入、代理类实例

    总结一下工作中遇到的类扩展: 1、类继承: 当多个类公用很多方法的时候可以将公用...当多个类要继承一个类时,用第一种方法,会遇到一个问题。 (引用一个别人的注解来描述抽象类的运用吧https://ihower.tw/rails4/

    JAVA上百实例源码以及开源项目

    2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯...

    CodeIgniter:php敏捷开发框架web快速开发详解

    第二个例子,现在让我们想象你正在用 HTML 写一个数据输入窗口,你想要一个下拉输入框。下拉框中有三个选项。代码如下: 复制代码到剪贴板HTML 代码 &lt;option value="1"&gt;www.this.com&lt;/option&gt; &lt;option value="2"&gt;...

    Ruby语言入门到精通

    第二篇讲解Ruby语言的核心概念和语法,并综合这些概念和语法,以机器人小程序为例进行了实战开发;第三篇深入讲解Ruby on Rails 开发,以及怎么样用Ruby访问因特网和网络连接服务,最后还对大量非常有用的Ruby程序库...

    Ajax基础教程(扫描版)

    第2章 使用xmlhttprequest对象 23 2.1 xmlhttprequest对象概述 23 2.2 方法和属性 25 2.3 交互示例 26 2.4 get与post 28 2.5 远程脚本 29 2.5.1 远程脚本概述 29 2.5.2 远程脚本的示例 29 2.6 如何发送简单...

Global site tag (gtag.js) - Google Analytics