更改Rails应用程序中的目录名称

时间:2015-10-30 19:44:31

标签: ruby-on-rails passenger

我对Rails和使用PassengerPhusion相对较新。我在Azure上运行Ubuntu服务器,并且the demo app that Passenger provides working fine。我甚至改变了主页上的文字。

我的问题是:

在我的目录中,该应用程序的文件目录名称为passenger-ruby-rails-demo,在我进行实验时,我正在将目录名称更改为passenger-ruby-rails-demo-test,并返回查看fleetpro.cloudapp.net时出现错误消息。

我已经尝试查看文件,试图找出这是如何路由但没有运气。 Rails安装中是否有一个文件告诉Passenger在特定的passenger-ruby-rails-demo目录中?相当新鲜的问题,但它确实困扰我!

2 个答案:

答案 0 :(得分:0)

我不确定如何命名约定对应用程序“passenger-ruby-rails-demo”的根目录名称有效,但我相信该目录的名称是对于运行Rails应用程序非常重要,可能需要对config/application.rb文件中以Rails应用程序命名的模块名称执行某些操作。

虽然有一个解决方案:使用gem rename

gem rename添加到Gemfile并运行bundle install

然后在您应用的根目录中,运行以下命令:

rails g rename:app_to New-Name

这将基本上用您的新名称“克隆”应用程序。您可能需要检查以确保之后的所有配置文件都存在,但根据我使用它的经验,这是一件轻而易举的事。您肯定必须将新重命名的应用程序推回到git或Azure。

修改

作为示例,我重命名了一个Rails应用程序,以显示在运行命令后您对输出的期望:

enter image description here

答案 1 :(得分:0)

Rails应用程序的名称不是问题,它是您将使用的PassengerAppRoot开关:

PassengerAppRoot /path/to/your/app

Rails实际上并不关心它放在哪个文件夹中,所以重命名Rails 不会修复你的问题

重命名Rails只会更改应用程序中的内部类引用(Rails.application.name之类的内容会对您的应用程序产生非常微妙的影响。)

在Azure服务器中,您需要找到.htaccess / httpd.conf / nginx.conf文件,并将PassengerAppRoot更改为新路径。这应该可以解决问题。