我有一张桌子叫“Wbs”。我已经生成了控制器,它在从命令行执行时工作得很好。
示例:
Wbs Wbs(id:整型,描述:字符串,project_id:整型,wbs_no: string,已发布:布尔型,created_at: datetime,updated_at: datetime)
问题是当我试图返回给定项目的所有Wbs对象时。Rails从wbs中删除's‘,并尝试调用一个名为"Project::Wb“的方法,而不是"Project::Wbs”。
示例:
Projects.first.wbs 项目负载(0.4ms)从“项目”中选择"projects".*限制1 NameError:未初始化常量项目::Wb
我确实在各自的模型中设置了belong_to和has_many。
我怎样才能解决这个问题?
发布于 2012-07-04 15:41:03
我认为,您应该告诉Rails,您的模型名称并不像它所期望的那样。你可以这样做:
has_many :wbs, :class_name => "Wbs"发布于 2012-07-04 16:19:04
您可以指定"wbs“是不可数的。在config/initalizers/inflections.rb中添加:
ActiveSupport::Inflector.inflections do |inflect|
inflect.uncountable "wbs"
end之后,您必须重新启动服务器/控制台。
https://stackoverflow.com/questions/11320717
复制相似问题