【发布时间】:2026-01-03 21:45:02
【问题描述】:
我有两个模型类:Cars 和 Customers,
型号汽车:
class car < ActiveRecord::Base
#car has attribute :town_code
has_many :customers
end
模型客户:
class customer < ActiveRecord::Base
# customer has attribute :first_name, :last_name
belongs_to :car
end
在我的控制器中,我有以下代码:
my_customer = Customer.find_all_by_first_name('John')
p my_customer.last_name
p my_customer.car_id
但是我得到了no attribute 'car_id' 错误,我也得到了no attribute 'last_name' 错误。
---问题1:---
我检查了我的数据库,我的 customer 表上确实有 'car_id' 和 'last_name' 列。为什么我不能像我的控制器代码那样访问它们?
---问题2:---
但是代码:my_customer.map(&:car_id) 正在用于访问 car_id,但是,我不太明白代码 .map(&:car_id),它有什么作用?谁能给我解释一下?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord ruby-on-rails-3.1