开发工具: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