Ruby on rails 无法访问不直接从ActiveRecord::Base下降的模型
我已将一个Ruby on rails 无法访问不直接从ActiveRecord::Base下降的模型,ruby-on-rails,activerecord,inheritance,Ruby On Rails,Activerecord,Inheritance,我已将一个Rails 2.3.14项目转换为Rails 3.2.2 我在处理不直接从ActiveRecord::Base降级的表时遇到问题 我有一个定义如下的模型: class PauaServiceTable < ActiveRecord::Base def self.abstract_class? true end .. .. end 此代码在Rails 2.3.14中运行良好,但现在在转换到3.2.2后失败尝试在类PauaServic
Rails 2.3.14
项目转换为Rails 3.2.2
我在处理不直接从ActiveRecord::Base降级的表时遇到问题
我有一个定义如下的模型:
class PauaServiceTable < ActiveRecord::Base
def self.abstract_class?
true
end
..
..
end
此代码在Rails 2.3.14中运行良好,但现在在转换到3.2.2后失败尝试在类PauaServiceTable中设置@abstract\u class=true
---编辑
由于某些原因,表名称为空,请尝试以下操作:
class Lookup < PauaServiceTable
set_table_name 'lookups'
end
类查找
我可以用以下代码重现您的错误:
class PauaServiceTable < ActiveRecord::Base
def self.abstract_class?
true
end
end
class Lookup < PauaServiceTable
end
类PauaServiceTable
但是,以下工作:
class PauaServiceTable < ActiveRecord::Base
@abstract_class = true
end
class Lookup < PauaServiceTable
end
l= Lookup.new
+----+------------+------------+
| id | created_at | updated_at |
+----+------------+------------+
| | | |
+----+------------+------------+
类PauaServiceTable
尝试在类PauaServiceTable
中设置@abstract\u class=true
---编辑
由于某些原因,表名称为空,请尝试以下操作:
class Lookup < PauaServiceTable
set_table_name 'lookups'
end
类查找
我可以用以下代码重现您的错误:
class PauaServiceTable < ActiveRecord::Base
def self.abstract_class?
true
end
end
class Lookup < PauaServiceTable
end
类PauaServiceTable
但是,以下工作:
class PauaServiceTable < ActiveRecord::Base
@abstract_class = true
end
class Lookup < PauaServiceTable
end
l= Lookup.new
+----+------------+------------+
| id | created_at | updated_at |
+----+------------+------------+
| | | |
+----+------------+------------+
类PauaServiceTable
是单个表的PauaService表
和查找
模型吗
如果是这样,那么您的PauaServiceTable
模型应该有表名,并且查找
表应该自动获得它。您还可以查看单表继承
如果不是,则表示两个模型用于两个表,为什么
Lookup
应该继承PauaServiceTable
?您可能需要在这两个模型
s之间建立一个关系(有许多
,有一个
等)。是单个表的PauaService table
和Lookup
模型吗
如果是这样,那么您的PauaServiceTable
模型应该有表名,并且查找
表应该自动获得它。您还可以查看单表继承
如果不是,则表示两个模型用于两个表,为什么
Lookup
应该继承PauaServiceTable
?可能您需要在这两个模型
s之间建立关系(有许多
,有一个
等)。对于Rails 3.2.1+,我相信您需要
class PauaServiceTable < ActiveRecord::Base
self.abstract_class = true
end
类PauaServiceTable有关Rails 3.2.1+,请参见,我相信您需要
class PauaServiceTable < ActiveRecord::Base
self.abstract_class = true
end
类PauaServiceTable请参见您是正确的@abstract_class=true确实有效。我发布的代码并不完全准确。该表比ActiveRecord::Base低两层,因此我需要将@abstract\u record=true放在两个父类中。您是对的@abstract_class=true确实有效。我发布的代码并不完全准确。该表比ActiveRecord::Base低两层,因此我需要将@abstract\u record=true放在两个父类中。不,我不想要STI,这就是我希望父类是抽象的原因。不,我不想要STI,这就是我希望父类是抽象的原因。