Ruby on Rails变形问题

我正在使用Ruby on Rails为我玩的游戏创建一个网站。

我有一个User模型和一个Starbase模型。 我试图设置的关系是这样的

 class User < ActiveRecord::Base has_many :starbases end class Starbase < ActiveRecord::Base belongs_to :user end 

但是,当我打开脚本/控制台并尝试访问用户starbases时,它会给我一个错误: NameError: uninitialized constant User::Starbasis

似乎这是一个拐点的问题,轨道不是多元化的星座正确。

我尝试将其添加到intializers文件夹中的inflections.rb:

 ActiveSupport::Inflector.inflections do |inflect| inflect.plural 'starbase', 'starbases' end 

但它仍然没有解决问题。 任何人都可以提供有关如何使其工作的建议吗?

欢呼

EEF

您是否尝试为反向拐点添加一条线(即’单数’):

  inflect.singular "starbases", "starbase" 

我在我的控制台中尝试了你的例子,这是导致问题的单一化,而不是相反。 我不确定这是否解决了其他问题(如路线),但它应该修复简单的东西(我认为)。

我接受了一些小技巧来仔细检查Active Support如何单一化,或者复制我的类名和/或模块名。

让您的rails应用服务器运行并在新选项卡中输入rails console进入您的rails console 。 在那里,您可以轻松地仔细检查您的名字的正确样式。

很长的方式 ActiveSupport::Inflector.pluralize "fish" # => "fish"

短道 "fish".pluralize # => "fish"

你可以在这里找到更多的例子

https://github.com/rails/rails/blob/master/activesupport/test/inflector_test_cases.rb