Ruby on rails 更改Rails应用程序中的目录名

Ruby on rails 更改Rails应用程序中的目录名,ruby-on-rails,passenger,Ruby On Rails,Passenger,我对Rails和PassengerFusion都比较陌生。我在Azure上运行一个Ubuntu服务器,并且已经运行了。我甚至更改了主页上的文字 我的问题是: 在我的目录中,应用程序的文件目录名为passenger ruby rails demo,在我进行实验时,我将目录名更改为类似passenger ruby rails demo test的名称,并在查看时返回错误消息 我试着翻阅文件,试图找出这是如何路由的,但没有任何运气。Rails安装中是否有一个文件告诉乘客在特定的乘客ruby Rails

我对Rails和PassengerFusion都比较陌生。我在Azure上运行一个Ubuntu服务器,并且已经运行了。我甚至更改了主页上的文字

我的问题是:

在我的目录中,应用程序的文件目录名为
passenger ruby rails demo
,在我进行实验时,我将目录名更改为类似
passenger ruby rails demo test
的名称,并在查看时返回错误消息

我试着翻阅文件,试图找出这是如何路由的,但没有任何运气。Rails安装中是否有一个文件告诉乘客在特定的
乘客ruby Rails演示
目录中?这是一个很新的问题,但它真的让我很困扰

我不确定命名约定如何与应用程序“passenger ruby rails demo”的根目录名相关,但我相信该目录的名称对运行rails应用程序很重要,并且可能需要对
config/application.rb
文件中以Rails应用程序命名的模块名称进行处理

不过有一个解决方案:使用
gem rename

gem重命名
添加到
gem文件
并运行
bundle安装

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

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

编辑

例如,我重命名了一个Rails应用程序,以显示在运行命令后您可以从输出中得到什么:

我不确定命名约定对应用程序“passenger ruby rails demo”的根目录名的作用,但我相信该目录的名称对运行rails应用程序很重要,并且可能需要对
config/application.rb
文件中以Rails应用程序命名的模块名称进行处理

不过有一个解决方案:使用
gem rename

gem重命名
添加到
gem文件
并运行
bundle安装

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

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

编辑

例如,我重命名了一个Rails应用程序,以显示在运行命令后您可以从输出中得到什么:


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

PassengerAppRoot /path/to/your/app
Rails实际上并不关心它放在哪个文件夹中,因此重命名Rails不会解决您的问题

重命名Rails只会更改应用程序中的内部类引用(例如
Rails.application.name
,这对应用程序有非常微妙的影响)


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

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

PassengerAppRoot /path/to/your/app
Rails实际上并不关心它放在哪个文件夹中,因此重命名Rails不会解决您的问题

重命名Rails只会更改应用程序中的内部类引用(例如
Rails.application.name
,这对应用程序有非常微妙的影响)


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

很好,谢谢!我会尝试一下,看看我会想出什么不是问题,我最初说的是“在不同的”目录中执行,但我现在刚刚测试了它,您实际上应该在相同的目录中执行。它将重命名你的应用程序,而不是克隆第二个副本。我终于开始运行该命令,并且几乎所有操作都正常了。。太近了!看来我还有更多的调查要做。。Rails已成功重命名该应用程序,但有东西是BrokenCol,谢谢!我会尝试一下,看看我会想出什么不是问题,我最初说的是“在不同的”目录中执行,但我现在刚刚测试了它,您实际上应该在相同的目录中执行。它将重命名你的应用程序,而不是克隆第二个副本。我终于开始运行该命令,并且几乎所有操作都正常了。。太近了!看来我还有更多的调查要做。。Rails成功地重命名了应用程序,但有东西断开了!我很难找到nginx.conf文件谢谢!我很难找到nginx.conf文件