- 在你的Mac上开发一个Rails应用。
- 使用Parallels在虚拟的Windows框中(在同一台电脑上)。
- 想要在IE中测试它...
- ...而不必部署到staging
- ...或尝试在Windows中运行你的Rails环境
有没有什么方便的方法可以从Windows中访问你的Mac上的3000端口?
有没有什么方便的方法可以从Windows中访问你的Mac上的3000端口?
对于没有子域的Rails应用程序来说,这应该是非常简单明了的。但涉及到子域时就会变得更加复杂。
在Mac终端中输入以下命令:
ifconfig -a
复制分配的IP地址(例如:192.168.1.100)
切换到Parallels,打开IE并在地址栏中输入IP地址,不要忘记添加运行中Rails应用程序的协议和端口号,例如:
http://192.168.1.100:3000
终于可以看到Rails应用程序了。
你可能已经使用类似于lvh.me
的工具来方便本地创建子域应用程序(请参见ASCIICasts 221: Subdomains in Rails 3)。然而在Windows上可能不那么容易。
编辑Windows的hosts
文件,它应该位于类似于C:\WINDOWS\system32\drivers\etc\hosts
的位置。
假设你的IP地址与上述相同,添加一行类似于以下内容的行,并保存:
192.168.1.100 lvh.me sub1.lvh.me sub2.lvh.me ... subN.lvh.me
其中sub1、sub2、...、subN是要从IE访问的子域。
现在可以从IE访问http://sub1.lvh.me:3000
。
我已经厌倦每次查找DHCP分配的IP地址,所以我在OS X中创建了一个名为“Home”的新网络位置,该位置使用手动分配的IP地址的DHCP。这样,当我在家工作时,至少可以节省一些时间。只需记得在加入不同的网络时切换位置。YMMV :)
ifconfig | grep net
例如,输入端口为5000,目标端口也可以是5000(或者不同,例如8000),IP地址为10.211.55.2。
10.211.55.22
Parallels Desktop
主菜单(而不是虚拟机的菜单)打开首选项
高级
=> 网络:[更改设置]
获取IP地址的方法:
Para... #0
的条目,名称将被截断
http://your.ip.addr.ess:3000
?Hosts文件?如果虚拟机在本地网络上,它可以像两台独立的计算机一样与主机通信。你只需要让虚拟机能够解析主机的名称,然后只有当服务器使用基于名称的虚拟主机才需要这样做,对于Rails服务器来说这有点可疑。 - cHao