【发布时间】:2016-02-11 18:41:18
【问题描述】:
我有一个看起来像这样的“车辆”表
ID |制作 |型号
1 |讴歌 | cl
2 |讴歌 |埃尔
3 |讴歌 |积分
4 |奥迪 | a3
... | ... | ...
我需要从中创建两个表,“makes”表,仅从“vehicles”表中获取“make”列信息并将其放入我自己成功创建的“make_name”列中(也使它成为不通过 uniq 方法重复)。
标识 | make_name
1 |讴歌
2 |奥迪
3 |宝马
... | ...
还有我已经制作的第二个表(“make_models”),但在获取所需信息时遇到问题。表格是这样的
标识 | make_id |型号名称
标识 |使当前模型所属的id |车辆表中的模型
我尝试将此行插入到 Rails 控制台
@vehicles = Vehicle.all
@makes = Make.all
@vehicles.each do |v|
MakeModel.create :make_id => @current_make = @makes.where(:make_name => v.make).id, :model_name => v.model
end
但收到此错误消息
NoMethodError: Make Load (1.0ms) SELECT "makes".* FROM "makes" WHERE "makes"."make_name" = ? [[“make_name”,“讴歌”]] #
的未定义方法“id”
【问题讨论】:
标签: ruby-on-rails ruby console