2015-02-23 46 views
1

對不起,愚蠢的問題未定義的方法'身份證」爲#<物業:: ActiveRecord_Relation

這裏的時候,我養@property我得到行,但是當我提出@property.id它顯示undefined method id給我總結這個

owner.rb

has_many :properties 

property.rb

belongs_to :owner 

在owners_controller.rb

def new  
user = User.friendly.find(current_user.slug) 
@owner = user.owner 
authorize @owner 
@property = Property.where(owner_id: @owner) 
#raise @property.id.inspect 
@renter = User.friendly.find(params[:renter_id]).renter 
@message = Message.new(renter_id: @renter.id, owner_id: @owner.id,property_id: @property.id) 
end 

預先感謝

+2

'where'returns的'AR relation'這是一個'array'.Try '@ property.first.id' – Pavan 2015-02-23 07:09:01

+0

或用'find_by'替換'where'。 – makhan 2015-02-23 08:34:26

回答

2

正如我所說,where返回一個Active Record關係這是一個array。試試下面的

raise @property.first.id 

更改此

@property = Property.where(owner_id: @owner) 

@property = Property.find_by(owner_id: @owner) 
相關問題