小编VAD*_*VAD的帖子

带有Rails ENV变量的布尔逻辑

由于Rails ENV变量应该只有字符串值,因此决定如何将ENV变量用于需要布尔逻辑的用例可能是个问题.例如,因为ENV变量有一个字符串值,它总是很简单,所以做这样的事情不会太好:

if ENV['MY_VARIABLE']
  # do something
else
  # do something else
end
Run Code Online (Sandbox Code Playgroud)

所以至少有两种方法可以完成上述事情:

初始化具有特定值的变量并检查它

if ENV['MY_VARIABLE'] == 'some string'
  # do something
elsif ENV['MY_VARIABLE'] == 'some other string'
  # do something else
end
Run Code Online (Sandbox Code Playgroud)

或者只是使用任何值初始化变量并检查它是否已初始化(代码可能完全符合我们的要求).

if ENV['MY_VARIABLE']
  # do something
else
  # do something else
end
Run Code Online (Sandbox Code Playgroud)

问题是什么选项更受欢迎,它们各自的优缺点是什么?

ruby ruby-on-rails

5
推荐指数
3
解决办法
5378
查看次数

如何使用 Docker 生成 Rails 迁移

我正在尝试为在 Docker 中运行的 Rails 4 项目生成迁移。

到目前为止我尝试过的是

docker-compose run web rails g migration migration_name
docker-compose exec web rails g migration migration_name
Run Code Online (Sandbox Code Playgroud)

终端一直告诉我一切正常,迁移已成功创建等等。但我在我的项目中没有看到迁移文件。

但是如果我检查 Docker 中的项目文件

docker-compose exec web bash
ls -l db/migrate/
Run Code Online (Sandbox Code Playgroud)

我看到该文件确实在那里。

我使用的是 Mac OS X 如果有帮助的话

ruby-on-rails ruby-on-rails-4 docker docker-compose

5
推荐指数
1
解决办法
3707
查看次数