用Ruby On Rails搭建简易小说网站

开发工具:RadRails

 

1:先建立一个工程(New Rails project),RadRails里面可以直接建立,建立的时候可以选择Rails版本和数据库,数据库,选择了Mysql数据库,Rails2.3.4版本,确定生成(默认的话,工程建立完成后,服务器就会自动启动)

为了方便开发,可以选择几个常用的View显示在界面上,可以从“Window”->“Show View”里面去选择,我就选择了Generators,Rake Tasks和Server

工程建立后,总想看一下效果的,既然是小说站,当然以小说为主,所以,先试着“创建小说”吧。选择Generators面板,选择命令为Scoffold,参数为book title:string author:string book_type:string commend:integer words:integer last_update:datetime,确定 。

2:先把服务器关掉,不然每一次操作它会重启,会覆盖掉console上面的信息。进入自动生成的config目录下,找到database.yml

    这里有三个环境下的数据库配置,分别为development,test和production.,这里使用的是development数据库,叫test_development。
然后利用这个配置,在mysql中生成对应的数据库。
右击项目,在弹出来的菜单中选择Rake>>db>>create>>all对应的数据库就生成了。可以进到mysql中看看生成的数据库。

3:在db/migrate里面,已经由程序自动建立了一个迁移任务create_books.rb文件,我们可以看到Scoffold生成的表的属性(有些数据应该另外建表的,为了简单,就直接在一个表里):

class CreateBooks < ActiveRecord::Migration
  def self.up
    create_table :books do |t|
      t.string "title" #书名
    t.string "author" #作者
    t.string "book_type"  #类别
    t.integer "commend"  #总推荐
    t.integer "words"  #总字数
    t.datetime "last_update"  #更新日期
      t.timestamps
    end
  end

  def self.down
    drop_table :books
  end
end

3:点击Rake Tasks视图,在左边的下拉框选择db:migrate命令,不需要填参数,点击方向箭头go.控制台上输出:
可以看到数据库的表books也生成了。在db目录下,生成了一个schema.rb文件。
在mysql中用show tables命令,可以看到除了users表,还生成了一个schema_info表,用于记录数据库的迁移信息。至此,基本上完成了一个ruby on rails项目。
4:现在来看看成果:在servers视图,启动项目服务器。在地址栏输入http://locahost:3001/books,可以看到出来一个简单的页面,增删改查基本的功能都具备了。

 

我们看下新建(New book)功能(也即view视图 views/books/new.html.erb)

 

<h1>New book</h1>

<% form_for(@book) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </p>
  <p>
    <%= f.label :author %><br />
    <%= f.text_field :author %>
  </p>
  <p>
    <%= f.label :book_type %><br />
    <%= f.text_field :type %>
  </p>
  <p>
    <%= f.label :commend %><br />
    <%= f.text_field :commend %>
  </p>
  <p>
    <%= f.label :words %><br />
    <%= f.text_field :words %>
  </p>
  <p>
    <%= f.label :last_update %><br />
    <%= f.datetime_select :last_update %>
  </p>
  <p>
    <%= f.submit "Create" %>
  </p>
<% end %>

<%= link_to 'Back', books_path %>

 

我们修改下,简单点,变成中文(建立一本新书,我们需要哪些字段呢?书名,作者,类型是需要我们手动输出的,至于字数等数字内容,就应该在更新小说时或读者点击推荐时,动态增加,所以,建立新书页面上,有三项即可)

<h1>New book</h1>

<% form_for(@book) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :书名 %><br />
    <%= f.text_field :title %>
  </p>
  <p>
    <%= f.label :作者 %><br />
    <%= f.text_field :author %>
  </p>
  <p>
    <%= f.label :类型 %><br />
    <%= f.text_field :book_type %>
  </p>

  <!--
    <p>
    <%= f.label :commend %><br />
    <%= f.text_field :commend %>
  </p>
  <p>
    <%= f.label :words %><br />
    <%= f.text_field :words %>
  </p>
  <p>
    <%= f.label :last_update %><br />
    <%= f.datetime_select :last_update %>
  </p>
  -->
  <p>
    <%= f.submit "Create" %>
  </p>
<% end %>

<%= link_to 'Back', books_path %>

 

 

我们再看显示页面(views/books/index.html.erb)

 

<h1>Listing books</h1>

<table>
  <tr>
    <th>Title</th>
    <th>Author</th>
    <th>Book Type</th>
    <th>Commend</th>
    <th>Words</th>
    <th>Last update</th>
  </tr>

<% for book in @books %>
  <tr>
    <td><%=h book.title %></td>
    <td><%=h book.author %></td>
    <td><%=h book.book_type %></td>
    <td><%=h book.commend %></td>
    <td><%=h book.words %></td>
    <td><%=h book.last_update %></td>
    <td><%= link_to 'Show', book %></td>
    <td><%= link_to 'Edit', edit_book_path(book) %></td>
    <td><%= link_to 'Destroy', book, :confirm => 'Are you sure?', :method => :delete %></td>
  </tr>
<% end %>
</table>

<br />

<%= link_to 'New book', new_book_path %>

 

 

修改下变成中文

 

<h1>小说列表</h1>

<table border="1">
  <tr>
    <th>书名</th>
    <th>作者</th>
    <th>类型</th>
  </tr>

<% for book in @books %>
  <tr>
    <td><%=h book.title %></td>
    <td><%=h book.author %></td>
    <td><%=h book.book_type %></td>
    <td><%= link_to '查看', book %></td>
    <td><%= link_to '编辑', edit_book_path(book) %></td>
    <td><%= link_to '删除', book, :confirm => 'Are you sure?', :method => :delete %></td>
  </tr>
<% end %>
</table>

<br />

<%= link_to '新建小说', new_book_path %>

 

 

 

 

文章 不是原创(记录步骤), 原文地址是:

http://www.cnblogs.com/varlxj/archive/2010/02/02/1662040.html

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动控制节水灌溉技术的高低代表着农业现代化的发展状况,灌溉系统自动化水平较低是制约我国高效农业发展的主要原因。本文就此问题研究了单片机控制的滴灌节水灌溉系统,该系统可对不同土壤的湿度进行监控,并按照作物对土壤湿度的要求进行适时、适量灌水,其核心是单片机和PC机构成的控制部分,主要对土壤湿度与灌水量之间的关系、灌溉控制技术及设备系统的硬件、软件编程各个部分进行了深入的研究。 单片机控制部分采用上下位机的形式。下位机硬件部分选用AT89C51单片机为核心,主要由土壤湿度传感器,信号处理电路,显示电路,输出控制电路,故障报警电路等组成,软件选用汇编语言编程。上位机选用586型以上PC机,通过MAX232芯片实现同下位机的电平转换功能,上下位机之间通过串行通信方式进行数据的双向传输,软件选用VB高级编程语言以建立友好的人机界面。系统主要具有以下功能:可在PC机提供的人机对话界面上设置作物要求的土壤湿度相关参数;单片机可将土壤湿度传感器检测到的土壤湿度模拟量转换成数字量,显示于LED显示器上,同时单片机可采用串行通信方式将此湿度值传输到PC机上;PC机通过其内设程序计算出所需的灌水量和灌水时间,且显示于界面上,并将有关的灌水信息反馈给单片机,若需灌水,则单片机系统启动鸣音报警,发出灌水信号,并经放大驱动设备,开启电磁阀进行倒计时定时灌水,若不需灌水,即PC机上显示的灌水量和灌水时间均为0,系统不进行灌水。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值