我正在通過Hartl的Ruby on Rails教程開展工作,並且偶然發現了一個與開發和測試環境運行方式不同的問題。Rails教程; Rails環境
簡而言之,兩種環境不同步。開發環境似乎正常工作,但正在進行的一些更改不會傳播到測試環境。
例如,在application.html.erb中進行編輯將導致該更改在測試環境中被複制。但是,在_header.html.erb中進行更改不會。這就是我注意到這個問題的原因 - 對標題的新鏈接存在的測試失敗了,而我正在瀏覽器中(在開發環境中)盯着它們。
我試圖弄清楚另一個怪癖:如果我在測試環境中使用rails server --environment test
運行本地服務器,並啓動瀏覽器,則應用程序將保持「固定」狀態。我的意思是,對應用程序代碼或HTML/CSS文件所做的任何更改都不會在瀏覽器中複製。爲了看到任何更改,本地服務器必須關閉並重新打開。然後,這個加載測試環境的可見變化。
這兩個環境數據庫是相同的(我運行了rake db:migrate
和rake db:test:prepare
,因爲我在本教程中添加了遷移,並且已經通過sqlite 3查看器確認數據庫是相同的)。
我想這個問題源於我對Rails環境的一些基本的誤解 - 任何幫助都將不勝感激。
爲了完整起見,當我第一次注意到這個問題時,我正在完成第8章(添加登錄/註銷身份驗證)。
這沒有多大意義。啓動*相同文件夾中的服務器*將使用相同的文件,而不考慮環境。你確定你在*相同的文件夾*?請記住,有時PWD很棘手。 – fotanus