子域名和本地安装的Rails应用程序

Sha*_*awn 10 subdomain ruby-on-rails localhost

我无法弄清楚我在忽视什么,也许是明显的或缺乏理解.

我正在使用的应用程序使用托管服务器上正常工作的子域.我认为本地安装会引发一些关于路由的问题,所以我读到了对/ etc/hosts进行更改并使用Ghost gem.两者似乎工作正常,即localhost:3000 /变成myapp.local:3000,但我不明白如何登录到子域帐户.这是一个例子......

  • myapp.local:3000/session/new =应用程序的默认登录页面
  • myapp.local:3000/signup =默认注册页面
    • 我可以在这里创建一个帐户,例如Sub1
    • 感谢页面显示了对sub1.myapp.com的引用,该引用指向托管应用程序(本地数据库也显示此域)
  • sub1.myapp.local手动添加到/ etc/hosts和 dscacheutil -flushcache
  • sub1.myapp.local:3000/session/new是子域名
    • 登录尝试返回这不是有效的域.这似乎是有道理的,因为本地数据库在托管服务器上将url显示为sub1.myapp.com.

所以我的问题是,我是否可以使用本地解决方案进行开发,或者我是否完全错过了一个基本概念?

小智 11

您可能只想尝试将实际的dot com放在/ etc/hosts文件中.

即:

127.0.0.1 sub1.myapp.com
127.0.0.1 myapp.com
127.0.0.1 anyothersubdomains.myapp.com

通常做的是欺骗你的计算机认为它是所有这些的主机,所以你不能再在网络浏览器中访问真实的网站.

如果你确实希望它是.local,可能是因为你可以在处理本地副本时参考真实的在线网站,你应该看看app/controllers/application_controller.rb(有时是application.rb)并且看看对于那里的逻辑,有助于根据子域确定要做什么.也许它的硬编码只能寻找.com或其他东西.