1:Rails.application.routes.recognize_path
解析路由对应的Controller和Action
eg:Rails.application.routes.recognize_path "http://localhost:3000/admin/goods/list_new"
=> {:controller=>"admin/goods", :action=>"list_new"}
ps : 如果待解析路由是post请求,可能会返回正确的Controller 错误的Action
2: rails console 中的 下划线
在console经常忘记保存在变量里,不用重新来过,使用_ 既可以(每次你在 console 里面执行一个命令或者是功能,其返回值都会被保存在一个叫做_
的变量里)
eg: 2.2.1 :018 > Store.first
=> #<Store id: 1, name: "昌平分店-永和">
2.2.1 :019 > a = _
=> #<Store id: 1, name: "昌平分店-永和">
2.2.1 :020 > a
=> #<Store id: 1, name: "昌平分店-永和">
3: rails console --sandbox
console 中弄乱一些值然后看看程序怎么反应,但是又不想破坏原始数据库
这个模式下 console 被包装在数据库事务中启动。退出会话后,事务将回滚。所以退出后数据库会被恢复到原始状态
4:gem install devise --no-document
在github上下载一个gem花费的时间大部分用于下载gem中的ri 和rdoc,这个命令就告诉 bundler 不要下载 RDoc 和集成 ri 文件。这样就节省了很多时间和空间(只解决单个gem安装)
如果想让安装所有gem的时候都默认这样做的话
1: 项目根目录 touch .gemrc
2: 在文件中添加
gem: --no-ducument
install: --no-document
update: --no-document
5: EDITOR=subl bundle open devise
查看gem 源码
然后可以在项目中修改代码,可以修改下def 甚至是增加def。可以用以下命令使它回到初始状态 gem pristine devise 如果没有安装submine 可以使用bundle show devise 显示文件路径,点击去修改,记得退出后恢复初始状态6:
6: bundle exec rake log:clear
清理日志文件,腾出磁盘空间
7: rake -T
列出所有的rake任务,同时可以打印出任务描述
8: user.method(:login=).source_location
console中查看方法的源码位置
9: 当想为代码中添加快速记录,或者想对方法进行事后重构时,可以使用#TODO
rake notes:todo
eg: app/models/good/lfl_transfer.rb:
* [ 27] 接口超时如何处理