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
錯誤。爲什麼是這樣?
你有,顯然,一個或多個'Items'沒有'Owner'。 – jvillian
看起來就是這樣。我在更改數據模型之前創建了我創建的種子數據。 – sabaeus
做出此評論爲答案,我可以給你點 – sabaeus