提前道歉,Rails新手。
一个房东有N条评论,一条评论有1条房东
问题:为什么我不创建评论?(返回一个 nil 对象)
在landlands_controller#create: 创建地主或如果凭据已经在数据库中则查找一个:
@landlord = Landlord.where(:name => params[:landlord][:name],
:city => params[:landlord][:city], :province => params[:landlord][:province]).first_or_create!
当我@landlord.comments[0].setIP request.remote_ip
之后打电话时
我收到错误undefined method setIP for nil:NilClass
在房东控制器中提供 new 和 create 方法
def new
@landlord = Landlord.new
@landlord.comments.build
end
def create
#check if a landlord of the same name already exists and add comments to that db entry
@landlord = Landlord.where(:name => params[:landlord][:name], :city => params[:landlord][:city], :province => params[:landlord][:province]).first_or_create!
#:comment => params[:landlord][:comments_attributes]
@landlord.comments[0].setIP request.remote_ip
if @landlord.save
redirect_to landlords_path
else
end
结尾
评论控制器是空的,如果这是一个问题,我不肯定。