2011-09-23 98 views
0

去年夏天我在rails項目上使用了meta_where,它工作正常。然而,嘗試使用屏幕共享網站「join.me」在遠處建立一個rails項目,當代碼到達使用meta_where(「matches」)的第一行時,出現錯誤。 我已經把「寶石‘meta_where’」在Gemfile中和「包安裝」給出了錯誤:meta_where代碼未被識別

捆紮機找不到兼容版本的寶石「的ActiveRecord」: 在Gemfile中:

 meta_where depends on 

ActiveRecord的(〜> 3.0.0.rc2)

的ActiveRecord(3.1.0)

,然而當我用寶石服務器,檢查已安裝的寶石的網頁上有2個版本的ActiveRecord的(3.0.9和3.1.0)和meta_wh列出了ere-1.0.4。 看起來代碼在錯誤的目錄中,但這只是一個瘋狂的猜測。有什麼問題? 謝謝, Barney

回答

0

問題是,meta_where取決於Rails 3.0(不是3.1)。你使用rvm嗎?你應該創建一個rails 3.0項目,如果你需要meta_where。如果你使用RVM,您可以簡單地創建另一個寶石,和

rvm gemset create rails30 
rvm gemset use rails30 
gem install bundler 
gem install rails -v=3.0.10 

然後創建一個Rails 3.0項目

rails new my_project 

+0

你好瑪麗安,系統管理員設置的紅寶石併爲我的軌道環境和計劃是複製我的代碼。我沒有想到在Rails版本中尋找差異。 1)他是否必須刪除Rails並重新加載舊版本的Rails? 2)我不知道rvm。我會查找它。 – user32848

+0

如果這是一臺沒有其他rails應用程序運行的生產機器,最簡單的方法可能是刪除所有版本的rails gem並安裝rails 3.0.10,但是rvm值得研究! –

+0

謝謝,瑪麗安,我會在星期一看看這兩件事情。巴尼 – user32848