我想學習一點Ruby。我在我的Ubuntu機器上安裝了Ruby,並且正在使用apache。一切正常,除了刷新視圖,我必須在控制檯中重新啓動Apache,然後點擊ctrl-r,只需按下ctrl-r就不會刷新瀏覽器。爲什麼我必須重新啓動Apache才能在瀏覽器中正確刷新Ruby on Rails視圖?
顯然有一些緩存正在進行,但它是否必須是這種方式,即它是否與Ruby on Rails固有的?我嘗試了谷歌搜索,但似乎唯一的答案是安裝一些冗長的例程。開發它似乎是相當繁瑣的方式去。
我想學習一點Ruby。我在我的Ubuntu機器上安裝了Ruby,並且正在使用apache。一切正常,除了刷新視圖,我必須在控制檯中重新啓動Apache,然後點擊ctrl-r,只需按下ctrl-r就不會刷新瀏覽器。爲什麼我必須重新啓動Apache才能在瀏覽器中正確刷新Ruby on Rails視圖?
顯然有一些緩存正在進行,但它是否必須是這種方式,即它是否與Ruby on Rails固有的?我嘗試了谷歌搜索,但似乎唯一的答案是安裝一些冗長的例程。開發它似乎是相當繁瑣的方式去。
Apache是開發的絕佳選擇。
只要安裝客運(mod_rails)...,並按照指示...
我將它設置爲每個站點,以便/ etc/hosts文件包含
127.0.0.1 myapp
我使用Apache虛擬主機與像一個條目, - 在/ etc/apache2的/網站可用/ MYAPP
<VirtualHost *:80>
ServerName myapp
DocumentRoot /path/to/myapp/public
RailsEnv development
RailsAllowModRewrite off
<directory "/path/to/myapp/public">
Order allow,deny
Allow from all
</directory>
</VirtualHost>
啓用並重新啓動
sudo a2ensite myapp
sudo /etc/init.d/apache2 restart
這樣一來,有沒有正在運行的腳本/服務器......它只是始終處於開發模式下運行 - 只要你的瀏覽器指向http://myapp
在Rails等情況下,Apache不是一個很好的開發選擇,因爲每次更改代碼時確實需要重新啓動服務器。 Rails附帶自己的開發服務器,您可以通過執行(IIRC)腳本/服務器來啓動它。它更適合開發,因爲在每次小改動後都不需要重新啓動。
不要在開發模式下使用apache。使用腳本/服務器並安裝雜種寶石(sudo gem install mongrel)。 Mongrel比WEBrick快,並將開發日誌轉儲到運行它的控制檯。它使發展體面。
除Vista外。 Mongrel速度很慢,可以在Vista中使用,而不是使用webrick。 – Tilendor 2009-07-10 01:17:52
我使用的Apache與乘客(aka modrails)用於開發目的,它在這裏工作得很好。通過在httpd.conf中設置「RailsEnv開發」,確保在開發模式下使用Rails。
我使用Apache與mod_fcgid。我發現要去
$ touch ${MYAPP}/tmp/restart.txt
每次我希望應用程序重新加載爲我工作。
我同意你不應該使用Apache的開發,雜種是更容易,但設置乘客RailsEnv到開發意味着它不會做所有緩存的意見,類等,所以你不應該有重啓。儘管 – brad 2009-12-03 16:57:53
我不同意,但仍然認爲這只是更容易使用雜種或webrick本地開發。我的經驗是,將開發環境保持在與部署環境接近的地方可以節省很多麻煩,特別是在附加模塊和第三方庫方面。我們在開發過程中使用Debian時遇到了問題,然後必須在啓用了SELinux的CentOS上進行部署......讓開發環境儘可能接近部署環境。 – 2010-05-09 13:09:03