rails常用技巧

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
              => #
            2.2.1 :019 > a = _

              => #

           2.2.1 :020 > a

               => #

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] 接口超时如何处理

   

你可能感兴趣的:(rails)