首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rails应用程序在子目录中

在这个问答内容中,我们要讨论的是如何在Rails应用程序中部署到子目录中。Rails是一个基于Ruby语言的Web开发框架,它提供了一种简单、灵活的方式来构建Web应用程序。

在Rails应用程序中部署到子目录中,可以通过以下步骤来实现:

  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.relative_url_root = "/子目录名称"

子目录名称替换为实际的子目录名称。

  1. 修改config/routes.rb文件,添加以下代码:
代码语言:ruby
复制
Rails.application.routes.draw do
  mount_at = Rails.application.config.relative_url_root.present? ? Rails.application.config.relative_url_root : "/"
  mount ActionCable.server => "#{mount_at}cable"
end
  1. 修改config/initializers/assets.rb文件,添加以下代码:
代码语言:ruby
复制
Rails.application.config.asset_host = Proc.new { |source, request|
  if request.path.starts_with?(Rails.application.config.relative_url_root)
    "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  else
    "#{request.protocol}#{request.host}:#{request.port}"
  end
}
  1. 修改config/initializers/session_store.rb文件,添加以下代码:
代码语言:ruby
复制
Rails.application.config.session_store :cookie_store, key: "_#{Rails.application.config.relative_url_root.gsub(/[^a-zA-Z0-9]/, '')}_session"
  1. 修改config/puma.rb文件,添加以下代码:
代码语言:ruby
复制
if Rails.application.config.relative_url_root.present?
  app_path = Rails.application.config.relative_url_root
else
  app_path = "/"
end
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_controller.asset_host = Proc.new { |source, request|
  if request.path.starts_with?(Rails.application.config.relative_url_root)
    "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  else
    "#{request.protocol}#{request.host}:#{request.port}"
  end
}
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = Proc.new { |source, request|
  if request.path.starts_with?(Rails.application.config.relative_url_root)
    "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  else
    "#{request.protocol}#{request.host}:#{request.port}"
  end
}
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}"
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制
config.action_mailer.default_url_options = { host: "#{request.host}:#{request.port}#{Rails.application.config.relative_url_root}" }
  1. 修改config/environments/production.rb文件,添加以下代码:
代码语言:ruby
复制

config.action_mailer.asset_host = "#{request.protocol}#{request.host}:#{request

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用Capistrano,Nginx和PumaUbuntu 14.04上部署Rails应用程序

本教程,我们将在Ubuntu上安装Ruby和Nginx,并在我们的Web应用程序配置Puma和Capistrano。...ssh -p your_port_num deploy@your_server_ip 'cat >> ~/.ssh/authorized_keys' 第六步 - Rails应用程序添加部署配置 本地计算机上...,Rails应用程序为Nginx和Capistrano创建配置文件。...输入以下命令来捆绑您的Rails应用程序: $ bundle 捆绑后,运行以下命令配置Capistrano: $ cap install 这将创建: Capfile 您的Rails应用程序的根目录...: 使用production作为Rails应用程序的默认环境 自动管理应用的多个版本 使用优化的SSH选项 检查您的git遥控器是否是最新的 管理您应用的日志 管理Puma工作人员时将应用程序预加载到内存

4.9K40

使用SSH隧道保护三层Rails应用程序的通信

Ruby on Rails应用程序,它可以轻易地映射到表示层的Web服务器,应用程序层的Rails服务器和数据层的数据库。...本教程,您将在三层配置中部署Rails应用程序,方法是在三个单独的服务器上安装一组唯一的软件,配置每个服务器及其组件以进行通信和协同工作,并使用SSH隧道保护它们之间的连接。...使用Puma部署Rails应用程序。请注意,安装rbenv-vars插件部分,必须设置数据库用户和密码以反映在 数据库服务器 上安装PostgreSQL时使用的值。...同样,如果入侵者要获得对 隧道 用户的访问权限,他们既不能编辑Rails应用程序目录的文件,也不能使用sudo命令。 每台服务器上,创建一个名为 tunnel 的其他用户。...Web浏览器访问 Web服务器 的公共IP以查看其运行情况: http://web-server_public_IP/tasks 结论 通过本教程,您已经在三层体系结构上部署了Rails应用程序,并保护了从

5.6K30

.NET 应用程序运行 JavaScript

一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下 .NET 应用程序运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。...或者......我们直接从我们的 .NET 应用程序调用 JavaScript 2 .NET 运行 JavaScript 一旦你决定在你的 .NET 代码运行 JavaScript,你就会考虑几个选择...本节,我将展示如何使用 prism.js 高亮一小段代码,并在一个控制台应用程序运行。...5总结 在这篇文章,我展示了如何使用 JavaScriptEngineSwitcher NuGet 包来 .NET 应用程序运行 JavaScript。...最后,我展示了你如何使用 JavaScriptEngineSwitcher .NET 应用程序内部运行 Prims.js 代码高亮库。

2.5K10

Flutter制作指纹认证应用程序

本文主要展示如何在 Flutter 为 android 应用程序实现指纹认证系统 现在许多手机都配备了指纹传感器,这使得用户登录和本地身份验证更容易,而且比使用密码更安全。...设置我们的项目 我们开始编写应用程序之前,我们需要先设置一些东西。...我们需要做的第一件事是我们的 pubspec.yaml 文件添加 local_auth 依赖项 所以对于我的项目,我使用了这个版本,但你可能会使用最近的版本,所以我建议你检查这个链接,看看你可以使用哪个版本...我们的示例,我们只会为 Android 手机实现此功能,对于 IOS 则不一样,但是您可以通过访问以下链接的文档来了解如何执行此 操作。...现在我们已经完成了应用程序的主要部分,让我向您展示完整的源代码。

2.3K10

IPA重签名iOS应用程序

当我们在对iOS应用程序执行黑盒安全测试时,我们一般只能从AppStore来访问和获取iOS应用程序。但是大多数情况下,客户都会给我们提供一个IPA文件。...黑盒测试过程,我们无法访问目标应用的源代码,因此通过Xcode将其部署到设备并进行测试,几乎是不可能的。...获取正确的配置文件 Xcode的文件导航栏,选择“Product”,点击目标App。然后检查Xcode Inspector区域(Xocde界面的右侧面板),找到应用程序Bundle的路径。...应用程序Bundle,我们将会看到“embedded.mobileprovision”,然后把配置描述文件拷贝到当前的工作目录: $ cp PATH_YOU_GOT_FROM_XCODE/embedded.mobileprovision...Keychain): $ security find-identity -v -p codesigning 获取到所需信息之后,我们就可以对应用程序进行重签名了: $ codesign -f -s

2.2K10

如何在Ubuntu 14.04上使用PostgreSQL和Ruby on Rails应用程序

介绍 Ruby on Rails使用sqlite3作为其默认数据库,许多情况下效果很好,但可能不适合您的应用程序。...现在您可以输入以下命令退出PostgreSQL控制台: \q 我们现在创建一个Rails应用程序。 创建新的Rails应用程序 主目录创建一个新的Rails应用程序。...配置数据库连接 您创建的PostgreSQL用户将用于创建应用程序的测试和开发数据库。我们需要为您的应用程序配置正确的数据库设置。 您喜欢的文本编辑器打开应用程序的数据库配置文件。...如果你在这一点上得到一个错误,重温以前的第(配置数据库连接),以确保database.yml的host,username和password是正确的。...3000上的服务器公共IP地址Web浏览器访问您的Rails应用程序: 访问网络浏览器: http://server_public_IP:3000 如果您看到“欢迎登陆”Ruby on Rails页面

3.4K00

如何在Ubuntu 14.04上使用Git Hooks部署Rails应用程序

介绍 本教程,我们将向您展示如何使用Git hooks自动将Rails应用程序的生产环境部署到远程Ubuntu 14.04服务器。...您还需要一个本地开发机器上的git存储库管理的Rails应用程序。如果您没有并希望跟进,我们将提供一个简单的示例应用程序。 让我们开始吧!...准备你的Rails应用程序 您的开发机器上,很可能是您的本地计算机,我们将准备您要部署的应用程序。 可选:创建Rails应用程序 理想情况下,您已经拥有了要部署的Rails应用程序。...如果没有,第一步是创建一个新的Rails应用程序。 这些命令将在我们的主目录创建一个名为“appname”的新Rails应用程序。...您喜欢的编辑器打开应用程序的Gemfile。

2.5K60

如何在Ubuntu 14.04上使用MySQL和Ruby on Rails应用程序

介绍 Ruby on Rails使用sqlite3作为其默认数据库,许多情况下效果很好,但可能不适合您的应用程序。...安装MySQL Gem 您的Rails应用程序可以连接到MySQL服务器之前,您需要安装MySQL适配器。mysql2创业板提供了这个功能。...创建新的Rails应用程序 主目录创建一个新的Rails应用程序。...您喜欢的文本编辑器打开应用程序的数据库配置文件。我们将使用vi: vi config/database.yml 该default部分下,找到显示“password:”的行,并将密码添加到其末尾。...IP地址Web浏览器访问您的Rails应用程序: http://server_public_IP:3000 如果您看到“欢迎登陆”Ruby on Rails页面,您的应用程序已正确配置,并连接到MySQL

4.8K00

Debian 9上使用Apache安装Ruby on Rails

什么是Ruby on Rails? Ruby on Rails是一个服务器端Web应用程序框架。它维护了一组策划组件和“约定优于配置”的理念,使得我们可以快速开发应用程序而无需大量样板。...本指南将向您展示如何使用Phusion Passenger您的Linode上部署Rails应用程序。...Passenger允许您直接在Apache应用程序嵌入Rails应用程序,而无需担心FastCGI或复杂的Web服务器代理。...使用Rubygems包管理器安装Rails: gem install rails --version=5.1.4 将您的Rails应用程序移动到您的Linode,或者如果您还没有应用程序,则创建一个新应用程序.../etc/apache2/sites-available/example.com.conf文本编辑器打开并按如下方式编辑它。

5.8K30

如何在CentOS 6.5上使用Unicorn和Nginx部署Rails应用程序

介绍 部署基于Rails的Web应用程序时,简单设计的应用程序服务器可以几分钟内启动并运行。...准备部署服务器 本节,我们将执行以下步骤: 更新操作系统 获取必要的基本部署工具 安装Ruby,Rails和库 安装应用程序(即Unicorn)和HTTP服务器(Nginx) 更新和准备操作系统 运行以下命令以更新...准备Rails应用程序以进行部署 注意:本节,我们将使用一个非常简单的Ruby On Rails应用程序作为示例。对于应用程序的实际部署,您应该上传代码库并确保安装所有依赖项(即bundle)。...本教程,我们将重点介绍关键元素,从头开始创建一个文件,Unicorn将在启动应用程序服务器守护进程时使用该文件。...注意:要使用Unicorn简单地测试应用程序,您可以应用程序目录运行unicorn_rails。 Nginx 接下来,我们需要告诉Nginx如何与Unicorn交流。

4.1K20

CDN 适合您的 Rails 应用程序吗?适合大规模应用吗?

在这篇博文中,我们将讨论什么是 CDN、为什么它很重要,以及您是否应该在 Rails 应用程序中使用它。 什么是 CDN?...是否应该在 Rails 7 应用程序中使用 CDN 取决于几个因素: 应用程序的大小 如果您的应用程序相对较小并且没有很多静态资产,则 CDN 可能不会提供太多好处。...---- 如何在 Rails 中使用 CDN 如果您决定在 Rails 7 应用程序中使用 CDN,您可以通过将 Web 服务器配置为从 CDN 服务器提供静态资产来实现。...配置资产主机 您的config/application.rb文件,您可以将 设置config.asset_host variable为 CDN 的 URL。...Rails 7 中使用 CDN 是提高 Web 应用程序性能的好方法。

13530
领券