Ruby on Rails 常用命令

2 篇文章 0 订阅
1 篇文章 0 订阅

以下命令都是在windows下面执行的,如果是在linux下面,请把其中路径的"\"改成"/"

1、Rails 命令:

 在path路径下面创建一个新的工程

rails path

启动server(适用于1.8版本,对于更高版本请使用:rails server,下面类似)

ruby script\server 

生成produts控制器(rails generate ...)

ruby script\generate controller products 

生成product类,并生成相应的数据库文件

ruby script\generate model product title:string desp:text inventory:integer price:decimal 

 生成数据迁移,名称为add_seller_to_product,可以在生成的迁移文件中重写up和down函数,从而生成迁移方式

ruby script\generate migration add_seller_to_product

def self.up
add_column :products, :seller, string
add_column :products, :weight, :decimal,
:precision=>8, :scale=>2, :default:0
end

def self.down
remove_column :products, :seller
remove_column :products, :weight
end


注意:数据迁移定义的up函数是往前执行的时候调用,而down函数是在回滚时才调用的,故两者的行为正好相反。

执行数据迁移

rake db:migrate 


生成文档

rake app:doc

查看路由表

rake routes 

生成products的脚手架,即把products当做资源来处理,为其生成new edit delete index等视图,同时生成new edit destroy update index 等action,完成对其进行的CRUD操作

ruby script\generate scaffold products title:string desp:text price:decimal 


在console下面可以进行多项操作,例如查询对地址的路由解析和生成路由地址,下文中有>提示符的,都表示在在console下的操作。

ruby script\console 

给后面的这个类起个别名

>rs=ActionController::Routing::Routes 

>puts rs.routes 

根据当前的路由配置解析当前地址采用的controller、action及参数。

>rs.recognize_path "/products/edit/3" 

根据提供的控制器等参数生成url

>rs.generate :controller=>"products", "action"=>"edit", :id=>"34" 

>exit

2.sqlite3 数据库操作

直接从控制台调用sql查询语句

sqlite3 db\sqlite3-development "select * from products" 

查看products表的信息

sqlite3 db\sqlite3-development "PRAGMA table_info(products)" 

3.一个问题

在windows下面,当我启动一个rails server的时候,如果在执行一些操作的时候遇到异常,则运行服务器的命令行就显示无响应,然后就消失了。后来发现了一个解决办法:启动服务器的时候,将输出写入文件而不是打印在屏幕上可以解决这个问题。即:ruby script\server 1 >1.txt & 2 > 2.txt。这样,当遇到异常的时候,不仅启动服务器的命令行不会消失,而且通过查看1.txt 文件,可以知道异常产生的原因,同时也可以在程序中使用puts将信息打印出来,方便调试。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值