由于某种原因无法让这个工作。我一直在阅读Code School的课程并观看了这段视频: http://railsforzombies.org/levels/2 在9点13分,他在模特身上查询......我只是想做同样的事情......
这就是我所做的..我有两个型号..用户和产品 我的关系:
class Product < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :products
end
然后我的架构
create_table "products", force: true do |t|
t.integer "upc"
t.string "description"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", force: true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
然后最后,实际查询..
s = Product.find(1)
Product Load (1.3ms) SELECT "products".* FROM "products" WHERE "products"."id" = ? LIMIT 1 [["id", 1]]
=> #<Product id: 1, upc: 1, description: "Desc. 1", user_id: 1, created_at: "2015-04-16 16:14:48", updated_at: "2015-04-16 16:14:48">
然后我只想返回拥有第一个产品的用户的名字..就像这样
s.user.name
这给了我这个错误:
NoMethodError: undefined method `user' for #<Product:0x00000005593850>
但它不起作用,这里有什么问题?