Rails3:如何使用shell脚本执行Rails命令(如“rails generate”)

时间:2011-10-27 20:22:30

标签: ruby-on-rails-3 shell generator

我需要通过执行Linux shell脚本来生成模型(以及稍后的迁移)。

该脚本直接位于app文件夹中,如下所示:

#!/bin/bash

cd /home/<my_user_profile>/Websites/<my_app_name>
rails g model my_model name:string accepted:boolean [etc...]

问题是:当我执行脚本时,模型不会被创建。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

尝试

exec "rails g model my_model name:string accepted:boolean"

答案 1 :(得分:0)

要确保它在shell所在的相同上下文中执行,请删除shebang以避免启动另一个bash,这可能与您当前的shell相同或不同。

如果你正在使用rvm / similar,你需要(a)有一个默认值,(b)指定版本/ gemset,或者(c)依赖类似rvm的cd fudgery。 / p>

否则,应该工作得很好 - 这对我来说(没有shebang,所以它会使用我所处的当前rvm环境)。