我正在构建一个应用程序来为星球大战 RPG 生成一个角色。我添加了Species
模型。Species
单数与复数相同,这让我陷入了循环。我可以使用 让路线在应用程序中正常工作species_index_path
,但由于某种原因,has_many :characteristics, :through => :species_characteristics
并没有朝一个方向工作。
例如,我有两个模型在控制台中正确播种(和工作):Characteristics
和Species
. Characteristics
设置方式如下:
class Characteristic < ActiveRecord::Base
has_many :species_characteristics
has_many :species, :through => :species_characteristics
has_many :skills
end
Species
设置方式如下:
class Species < ActiveRecord::Base
has_many :species_characteristics
has_many :characteristics, :through => :species_characteristics
end
他们之间的模型对他们belongs_to
每个人都有一个。
如果我Characteristic.first.species
从控制台调用,我会得到与该特征相关的物种列表。
但是,如果我打电话Species.first.characteristics
,我会得到以下信息:
NameError: uninitialized constant Species::Characteristics
我正在考虑添加一个新的变形,或者以某种方式解决这个问题,但我什么也没想到。除了将模型重命名为 Race 之外,还有没有更好的方法?
TLDR:
has_many
由于未初始化的常量错误,关系不仅仅在一个方向上起作用,可能是因为拐点问题。除了重命名模型之外,还有什么方法可以解决它?