2017-10-16 35 views
0

我有這些模型和控制器代碼:是我協會導致一個未定義的方法爲無:NilClass?

class Item < ActiveRecord::Base 
belongs_to :owner, class_name: "User", foreign_key: :user_id 
end 

class User < ActiveRecord::Base 
has_many :owned_items, class_name: "Item" 
end 

class ItemsController < ApplicationController 
def index 
    @items = Item.search(params[:search]).approved.page(params[:page]) 
end 
end 

鍵入Item.owner.username到Ruby控制檯返回Item所有者的用戶名,但調用在我看來,一個循環之外下面的視圖代碼時,

<% @items.each do |item| %> 
... 
... 
<div class="posted-to lightgrey">Posted by <a href=""><%= link_to item.owner.username, profile_path(item.owner.username) %></a></div> 
<% end %> 

它導致一個undefined method 'username' for nil:NilClass錯誤。爲什麼是這樣?

+2

你有,顯然,一個或多個'Items'沒有'Owner'。 – jvillian

+0

看起來就是這樣。我在更改數據模型之前創建了我創建的種子數據。 – sabaeus

+0

做出此評論爲答案,我可以給你點 – sabaeus

回答

1

你有,顯然,一個或者沒有Owner更多Items

相關問題