# 几个可以简化 rails 开发命令的函数

- Link: https://www.ixiqin.com/2020/12/27/several-commands-can-simplify-the-rails-development-function/
- Published: 2020-12-27T19:00:22+08:00
- Author: 白宦成

在 rails 的 bin 目录下，有一些可执行文件，你在开发过程中使用这些可执行文件来操作，
从而使用项目自带的可执行文件

但是默认的 `rails` 命令使用的是全局的 rails ，如果我希望使用项目中的可执行文件，
就需要执行 `bin/rails`， 略微繁琐，所以有没有一种可以更加简单的方式呢？答案是肯定
的。你可以通过在你的命令行中添加一个新的命令来实现这个效果。

具体代码如下：

    ```php
    funciton rx(){
    	if test -f "bin/rails"
    	then
    	  bin/rails $*
    	  exit
    	else
    	  rails $*
    	fi
    }
    funciton yx(){
    	if test -f "bin/yarn"
    	then
    	  bin/yarn $*
    	  exit
    	else
    	  yarn  $*
    	fi
    }
    function bx(){
    if test -f "bin/bundle"
    	then
    	  bin/bundle $*
    	  exit
    	else
    	  bundle  $*
    	fi
    }
    Code language: PHP (php)
    ```

> 你可以将这段代码粘贴在你的 **`.bashrc`** 或 **`.zshrc`**  文件中，从而使其在命令
> 行启动时可用。
> 这段代码很简单， 定义了三个新的函数，后续我们在命令行输入 `rx`、`yx`、`bx` 的时候，
> 会自动调用当前目录或全局的 `rails`、`yarn`、`bundle` 目录。这样你可以在任何一个
> 目录下使用 `rx` 命令来操作。
> 三个函数的结构都是一样的，首先检测当前目录下的子目录
> 是否存在 rails 可执行文件，如果存在，就调用本地的函数，并将参数传递。如果不存在，
> 就调用全局的函数，将参数传递。

## 总结

我们可以通过定义简单的一些命令，简化项目的开发。而这样的思路，你可以应用在任何一个
项目中，而不仅仅是 rails 项目中。
