快速业务通道

Ruby on Rails安装手记 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

Ruby on Rails安装手记

时间:2011-11-09

弄了好几天,Ror环境终于搭好了,为了防止以后忘记,少走弯路,特记录下

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

安装过程

1、安装 rubyinstaller-1.9.2

2、安装 执行 gem install rails

3、安装 dev kit 下载后 解压到ruby 的安装目录

4、安装Netbeans 6.9.1

5、打开Netbeans 配置 Ruby 的gem 重点 mysql2 0.2.6 让ror 支持 mysql

6、安装 ruby_debug_ide (还没有搞定,一直报错)

开发过程

1、创建项目 (Blog)

2、配置database.yam

3、执行rake 任务 db:create (会根据database.yam 在mysql 中创建数据库,不用去手动创建数据库)

4、启动服务,打开页面,看是否正常 尤其是看环境变量是否正正确显示

5、创建 controller home index

6、打开服务 http://127.0.0.1:3000/home/index 看是否正常

7、更改默认主页 (1、删除public\index.html 2、更改routes 中的 root :to => "home#index")

8、创建脚手架模型( generate scaffold Post name:string title:string content:text)

9、执行 rake 任务,将新的数据模型同步到数据库中 rake db:migrate

10、在首页上 增加 到脚手架的链接 (在 views\home\index.html.erb 中修改为

<h1>Hello, Rails!</h1> <%= link_to "My Blog", posts_path %> 注意里面的 posts_path,约定的写法

11、打开首页http://127.0.0.1:3000/ 看到有到blog的超级链接

12、连进去进行CURD测试。

Ruby on Rails安装手记(2)

时间:2011-11-09

13、在模型文件中增加验证信息

class Post < ActiveRecord::Base
  validates :name,  :presence => true
  validates :title, :presence => true,
                    :length => { :minimum => 5 }
end

presence 表示是否可为空,length 代表字段的长度

14、测试是否有验证信息显示。

15、创建一个普通model Comment (帖子评论)

$ rails generate model Comment commenter:string body:text post:references

注意 post:references

16、在Post模型中自动生成了一对多的关系

class Comment < ActiveRecord::Base
  belongs_to :post
end

17、执行 rake ,任务 将新的数据模型同步到数据库中 rake db:migrate

18、修改 Post 模型 增加一对多映射

class Post < ActiveRecord::Base
  validates :name,  :presence => true
  validates :title, :presence => true,
                    :length => { :minimum => 5 }
  has_many :comments
end 

19、在 route 中配置 Comments映射(有待研究)

resources :posts do
  resources :comments
end

20、创建controller

$ rails generate controller Comments

Ruby on Rails安装手记(3)

时间:2011-11-09

21、修改views/posts/show.html.erb,增加 对 Comment 的编辑

<p class="notice"><%= notice %></p>
<p>
  <b>Name:</b>
  <%= @post.name %>
</p>
<p>
  <b>Title:</b>
  <%= @post.title %>
</p>
<p>
  <b>Content:</b>
  <%= @post.content %>
</p>
<h2>Add a comment:</h2>
<%= form_for([@post, @post.comments.build]) do |f| %>
  <div class="field">
    <%= f.label :commenter %><br />
    <%= f.text_field :commenter %>
  </div>
  <div class="field">
    <%= f.label :body %><br />
    <%= f.text_area :body %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>
<%= link_to ''Edit Post'', edit_post_path(@post) %> |
<%= link_to ''Back to Posts'', posts_path %> |
22、修改 commentcontroller
class CommentsController < ApplicationController
  def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.create(params[:comment])
    redirect_to post_path(@post)
  end
end

23、先写道这里了

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号