这是问题所在。在开发中的 Rails 控制器中运行“系统”命令时,它的行为与预期的一样,在生产中运行命令时它不执行任何操作。
例如以下命令:
system 'rails g migration user_generated_migration'
甚至:
system 'ls'
在本地(开发中)工作,但在服务器(生产环境)上,他们什么都不做。
我是否在配置文件中遗漏了一些东西,production.rb 可能吗?还是应该在服务器上启用一些东西?
更新:
生产环境是默认设置,可能对缓存的处理方式有显着变化:
config.cache_store = :dalli_store, ENV['MEMCACHE_SERVERS']
它通过乘客在 apache 服务器上运行。我怀疑这与apache用户拥有什么权利有关?我在服务器领域没有太多经验,所以我不知道要给你什么确切的细节。