我有2个类,ProductDetails
和ProductStatus
。通过状态ID获取状态名称 - Rails 4
class ProductDetail < ActiveRecord::Base
belongs_to :product_status
end
和
class ProductStatus < ActiveRecord::Base
has_many :product_details
end
架构为这些表如下:
create_table "product_details", force: :cascade do |t|
t.integer "product_id", limit: 4
t.string "serial", limit: 255
t.string "comment", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "status", limit: 4
end
create_table "product_statuses", force: :cascade do |t|
t.boolean "available"
t.string "name", limit: 255
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
显示的ProductDetails
,我有status_id
,但我想显示的名称。它在product_statuses
为name
。
我尝试这样做:
<% @product_details.each do |product_detail| %>
<td><%= product_detail.product_status.name %></td>
<% end %>
,但它不工作:(
需要帮助
感谢
您得到的错误究竟是什么? – panmari
未定义的方法名称为零:NilClass :( –
这意味着product_detail的product_id是零或不存在于产品表中。仔细检查您的数据库条目 – panmari