san*_*adi 4 associations ruby-on-rails-4 rails-activerecord
抱歉问了个愚蠢的问题
在这里,当我加注时,@property我会争吵,但是当我加注时,@property.id它显示undefined method id给我对此的结论
在owner.rb
has_many :properties
Run Code Online (Sandbox Code Playgroud)
在property.rb
belongs_to :owner
Run Code Online (Sandbox Code Playgroud)
在owner_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
Run Code Online (Sandbox Code Playgroud)
提前致谢
正如我所说,where返回一个Active Record关系,它是一个array. 尝试下面的方法
raise @property.first.id
Run Code Online (Sandbox Code Playgroud)
或者
改变这个
@property = Property.where(owner_id: @owner)
Run Code Online (Sandbox Code Playgroud)
到
@property = Property.find_by(owner_id: @owner)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2039 次 |
| 最近记录: |