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