我正在尝试使用rails控制台手动将数据添加到rails中的表中,但我一直收到undefined local variable or method
错误。
该模型在ratings
:
模型/评价/ value_for_money_score.rb
class Ratings::ValueForMoneyScore < ApplicationRecord
end
要尝试手动将记录添加到数据库,我在控制台中运行以下命令:
$ RatingsValueForMoneyScore.create(score: '1', description:"Terrible, definitely not worth what was paid!")
我收到此错误:NameError: uninitialized constant RatingsValueForMoneyScore
我尝试过几个不同的版本,比如
RatingsValueForMoneyScores.create
,
Ratings_ValueForMoneyScores.create
,
ratings_value_for_money_scores.create
但仍然遇到同样的错误。我做错了什么?
答案 0 :(得分:0)
在这种情况下,错误足够描述,类RatingsValueForMoneyScore
几乎不存在。检查您的命名空间,您有一个类名(应该是单数)Rating
和模块ValueForMoneyScore
。你可以使用
(将课程重命名为Rating
)
Rating.create(...)
或
ValueForMoneyScores.create(...)
您的语法相当于:
class Rating
module ValueForMoneyScores < ApplicationRecord
...
end
end
答案 1 :(得分:0)
答案是输入的组合,所以在一个答案中收集。
我的命名空间没有正确设置(我使用“评级”而不是“评级”),所以我修复了表格。我的模型看起来如下:
<强>模型/ rating.rb 强>
class Rating < ApplicationRecord
end
<强>模型/评价/ value_for_money_score.rb 强>
class Rating::ValueForMoneyScore < ApplicationRecord
end
然后此命令用于在rating_value_for_money_score
表
$ Rating::ValueForMoneyScore.create(score: '1', description: "Test")