2015-02-23 44 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) 
相关问题