NameError:调用form_for时未初始化的常量

时间:2012-04-25 02:23:47

标签: ruby-on-rails ruby ruby-on-rails-3

-My routes.rb

- 资源:制造商   - 资源:vehicle_data 末端

-In controller

  • def create
  • @manufacturer = Manufacturer.find(params [:manufacturer_id])
  • @vehicle_data = @ manufacturer.vehicle_data.create(params [:vehicle_data])
  • @ vehicle_data.save 末端

-In Views

- <%= form_for([@ manufacturer,@ manufacturer.vehicle_data.build])do | f | %GT;

- 尝试创建新记录时

车载数据#index

中的

-NameError

-Showing C:/ Users ... / app / views / vehicle_data / index.html.erb第12行引出:

-uninitialized constant Manufacturer :: VehicleDatum - 提取的来源(第12行):

-9: -10: -11: -12:<%= form_for([@ manufacturer,@ manufacturer.vehicle_data.build])do | f | %GT; -13:
-14:

如何让这个表单工作?为什么模型名称从VehicleData更改为VehicleDatum

1 个答案:

答案 0 :(得分:3)

Rails期望模型是您定义的资源的单数形式,而数据的单数是数据,因此它希望您的类是VehicleDatum。如果这不是您要使用的复数,请参阅How do I override rails naming conventions?