2015-08-08 81 views
0

我有2個類,ProductDetailsProductStatus通過狀態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_statusesname

我嘗試這樣做:

<% @product_details.each do |product_detail| %> 
    <td><%= product_detail.product_status.name %></td> 
<% end %> 

,但它不工作:(

需要幫助

感謝

+1

您得到的錯誤究竟是什麼? – panmari

+0

未定義的方法名稱爲零:NilClass :( –

+2

這意味着product_detail的product_id是零或不存在於產品表中。仔細檢查您的數據庫條目 – panmari

回答