Ruby on rails 安装iCalendar gem后重复类名
我刚刚尝试处理iCalendar gem,但iCalendar似乎有一个名为Ruby on rails 安装iCalendar gem后重复类名,ruby-on-rails,ruby,icalendar,Ruby On Rails,Ruby,Icalendar,我刚刚尝试处理iCalendar gem,但iCalendar似乎有一个名为事件的类,我的应用程序也有一个名为事件的类 我想有一种方法可以定义一个或另一个类名,但我不知道如何定义 下面是我想做的一个例子: Event.new=>ActiveRecord模型 Icalendar::Event.new=>Icalendar事件类 谢谢。如何将iCalendargem包装在一个模块中,然后从中实例化,例如iCalendar::CalEvent require 'icalendar' module I
事件
的类,我的应用程序也有一个名为事件
的类
我想有一种方法可以定义一个或另一个类名,但我不知道如何定义
下面是我想做的一个例子:
Event.new
=>ActiveRecord模型
Icalendar::Event.new
=>Icalendar事件类
谢谢。如何将
iCalendar
gem包装在一个模块中,然后从中实例化,例如iCalendar::CalEvent
require 'icalendar'
module Icalendar
CalEvent = Event
end
顺便说一句:您可以只使用名称
事件
,但是会有一个关于重新指定常数的警告。如何将iCalendar
gem包装在一个模块中,然后从中实例化,例如iCalendar::CalEvent
require 'icalendar'
module Icalendar
CalEvent = Event
end
顺便说一句:您可以只使用名称
Event
,但是会有一个关于重新指定常数的警告。在访问模型时,通过::Event.new
强制ruby查找顶级类定义。include::before class name表示类不在任何模块中,与Icalendar
模块中的Icalendar::Event
相反
或者,如果iCalendar不提供名称空间,可以为类提供名称空间,将其定义为
module MyStuff
class Event
end
end
对于您的模型使用
MyStuff::Event
,对于iCal one使用::Event
。在访问您的模型时,通过::Event.new
强制ruby查找顶级类定义。include::before class name表示类不在任何模块中,与Icalendar
模块中的Icalendar::Event
相反
或者,如果iCalendar不提供名称空间,可以为类提供名称空间,将其定义为
module MyStuff
class Event
end
end
对您的模型使用
MyStuff::Event
,对iCal one使用::Event
。谢谢!它解决了我的问题。我现在可以通过Event
访问我的AR模型,通过iCalendar::Event
访问iCalendar类,就像我想要的那样!谢谢它解决了我的问题。我现在可以通过Event
访问我的AR模型,通过iCalendar::Event
访问iCalendar类,就像我想要的那样!