如何在Chrome上加载localhost:3000发出“rails s”命令?

时间:2011-01-27 13:17:27

标签: ruby-on-rails google-chrome

我的工作流程如下:

  1. $>mate .
  2. 使用textmate编辑内容
  3. 转到命令行运行$>rails s
  4. 转到Chrome,点击加载localhost:3000
  5. 的书签
  6. 查看应用
  7. 加载文本配合以修复/修改
  8. 返回git命令行
  9. 重复
  10. 是否可以对第3步进行装配,以便它还会加载一个包含localhost:3000的新选项卡?少点击一次,多次保存。

3 个答案:

答案 0 :(得分:1)

由于您使用的是TextMate,我会假设您使用的是Mac。

你可以做两件事。

  1. 在Apache上设置Phusion Passenger(Mac OS X已经有了apache),这样你就可以省去rails了。您可以在许多地方找到关于此的教程。但基本上你遵循instructions from the Passenger website然后install the Passenger PreferencePane来让你的生活更轻松。为此,您需要安装XCode。

  2. 在后台启动rails服务器,然后调用open打开URL

    #!/bin/bash  
    #  
    # save this in script/start.sh  
    # don't forget to do chmod +x script/start.sh  
    rails s &  
    sleep 4
    open http://localhost:3000  
    

答案 1 :(得分:1)

除了以上对乘客的建议外,我还补充说,您可以安装“乘客预制窗格”,让您轻松添加项目并设置其环境(生产/开发)。

Passenger + Passenger Pref Pane将完全消除对rails -s的需求,而对Apache配置文件的影响极小。

我认为Textmate还允许你做一些脚本,甚至可以让你在保存时启动和打开Chrome中的网址,但我还没有进入Textmate的那个领域,而且可能需要更多的工作,而不仅仅是在保存后点击刷新。

答案 2 :(得分:0)

如果您不介意添加一些代码,可以将它放在config / application.rb中:

config.after_initialize do
  if Rails.env == 'development'
    system('open /Applications/Google\ Chrome.app http://localhost:3000') 
  end
end

每次都会打开一个新的标签,如果这是一个多人项目,你可能会受到投诉。

另一种选择是查看live-reload以在文件更改时刷新标签。即使没有Passenger,在Rails 3上我也很少重启服务器,所以重新加载选项卡可能更有意义。