1

如何缩短包含导轨模型中的模块时。以下是我的示例代码。缩短包含在导轨模型中

我可以把它写在这样的一行吗?

class TableName < ActiveRecord::Base < ModelRelationConcern::JoinChair 

但我收到以下错误。

superclass must be a Class (NilClass given) 

我认为我打电话的人是延长,不确定是否是延期。

感谢您的帮助! :)

+0

你知道你真的在做什么吗? :) –

+0

我只是想让这行代码更短,我的意思是1 liner.class TableName Lymuel

回答

0

在评论添加到问题后,我明白了。答案是。包括一个模块不是平等的继承,所以你不能把它写在一行中。

您可以在单独的文件中重新打开ActiveRecord::Base,在您的模块中重新打开include,这样您就不需要在模型中执行此操作。但无论如何,你必须将它包含在某个地方。

P.S.你当然可以如下写:

class TableName < ActiveRecord::Base; include ModelRelationConcern::JoinChair end 

它名义上是一个ONELINE,但在技术上它不是,它也不是传统的写左右。

+0

非常感谢。非常感谢@Andrey Deineko。 – Lymuel

+0

@Lymuel,不客气。如果有帮助,请接受答案(左侧的复选标记) –