Ruby on Rails 与 iCalendar 的命名空间问题
我正在使用 ruby 1.8.7 为我的公司开发一个日历网络应用程序 导轨 2.3.8。自然有名为“Calendar”和“Event”的 RoR 模型。
为了将日历事件发送到其他应用程序(Microsoft Outlook 和 Microsoft Outlook) Lotus Notes)我正在与 iCalendar 标准集成红宝石 图书馆。 http://icalendar.rubyforge.org/ 但这个库包含名为“Calendar”的类和 “事件”
现在我的应用程序在尝试使用时遇到很多这样的错误 activerecord find - @calendar = Calendar.find(id) :
NoMethodError (**Icalendar::Calendar:Class** 的未定义方法 find'): app/controllers/foos_controller.rb:184:in
sendEmailDialogForm' C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
有什么办法可以做到:
@calendar = ActiveRecord::Base.Calendar.find(id) ??
or
@calendar = appname.Calendar.find(id)
or
@calendar = this.Calendar.find(id)
懒惰地尝试避免使用模块来指定命名空间或重命名我的 模型。
i'm developing a calendar webapp for my company using ruby 1.8.7 and
rails 2.3.8. naturally there are RoR models named "Calendar" and "Event".
in order to send calendar events to other apps (microsoft outlook &
lotus notes) i'm integrating with the iCalendar standard & ruby
library. http://icalendar.rubyforge.org/
but this library contains classes called "Calendar" and
"Event"
now my app is getting lotta errors like this when it tries to use
activerecord find - @calendar = Calendar.find(id) :
NoMethodError (undefined method find' for **Icalendar::Calendar:Class**):
sendEmailDialogForm'
app/controllers/foos_controller.rb:184:in
C:/Ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
is there some way to do:
@calendar = ActiveRecord::Base.Calendar.find(id) ??
or
@calendar = appname.Calendar.find(id)
or
@calendar = this.Calendar.find(id)
lazily trying to avoid using a module to specify a namespace or to rename my
models.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您在某处有
include Icalendar
。尝试把它拉出来&使用Icalendar::Calendar.new(...)
调用该库。这应该解决命名空间冲突。I'm thinking you have an
include Icalendar
somewhere. Try pulling that out & making your calls to that library usingIcalendar::Calendar.new(...)
. This should take care of the namespace conflicts.