2010-11-04 37 views
1

我正在爲我的公司開發一個日曆webapp,使用ruby 1.8.7和 rails 2.3.8。自然有RoR模型命名「日曆」和「事件」。Ruby on Rails命名空間與iCalendar問題

才能發送我與iCalendar標準&紅寶石 庫集成日曆事件的其他應用程序(如Microsoft Outlook & 的Lotus Notes)。 http://icalendar.rubyforge.org/ 但這個庫包含類調用時,它會嘗試使用 ActiveRecord的發現「日曆」和 「事件」

現在這個樣子我的應用程序越來越洛塔錯誤 - @calendar = Calendar.find(ID):

NoMethodError(未定義的方法find' for **Icalendar::Calendar:Class**): app/controllers/foos_controller.rb:184:in sendEmailDialogForm ' C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:在`服務'

是有一些方法來做到:

@calen dar = ActiveRecord :: Base.Calendar.find(id)??

or 

@calendar = appname.Calendar.find(ID)

or 

@calendar = this.Calendar.find(ID)

懶惰地試圖避免使用模塊來指定命名空間或重命名我的 模型。

+0

重命名您的模型可能是最容易做的事情。否則,恐怕你以後會遇到很多問題。 – Arsen7 2010-11-04 15:36:05

回答

2

我在想你在某個地方有一個include Icalendar。嘗試拔出&使用Icalendar::Calendar.new(...)打電話給該圖書館。這應該處理命名空間衝突。

+0

我認爲*它做到了! – 2010-11-04 17:26:52

+0

註釋掉了include #include Icalendar,然後@calendar = Icalendar :: Calendar.new – 2010-11-04 17:28:25

+0

正確。希望對你有效。 – Brian 2010-11-04 17:35:40