Ruby on rails 未定义的方法'request';对于true:TrueClass
我有一个带有嵌套路由的应用程序结构,其中Ruby on rails 未定义的方法'request';对于true:TrueClass,ruby-on-rails,activerecord,rails-activerecord,Ruby On Rails,Activerecord,Rails Activerecord,我有一个带有嵌套路由的应用程序结构,其中提案属于请求,而请求有许多提案 当我执行一个send\u proposal方法时,我试图让它更新该建议所属的请求的状态,但我得到一个错误,该错误表示未定义的方法'request'为true:TrueClass 我采用这种方法的路线(我认为这并不重要)是: 这是我的发送建议方法,可以在我的建议控制器中找到: def send_proposal @proposal = Proposal.find(params[:id]) ProposalM
提案
属于请求
,而请求
有许多提案
当我执行一个send\u proposal
方法时,我试图让它更新该建议所属的请求的状态
,但我得到一个错误,该错误表示未定义的方法'request'为true:TrueClass
我采用这种方法的路线(我认为这并不重要)是:
这是我的发送建议
方法,可以在我的建议
控制器中找到:
def send_proposal
@proposal = Proposal.find(params[:id])
ProposalMailer.send_proposal_to_client(@proposal, @proposal.request.user).deliver_now
@proposal = @proposal.update_attributes(status: "Sent to Client")
@proposal.request = @proposal.request.update_attributes(archived: "Proposal Sent to Client") <<<<<<<<<ERROR CALLED ON THIS LINE
flash[:notice] = "Your proposal has been sent to the client!"
end
def发送建议书
@建议=建议.查找(参数[:id])
ProposalMailer.将建议发送给客户(@proposal,@proposal.request.user)。立即发送
@proposal=@proposal.update_属性(状态:“已发送到客户端”)
@proposal.request=@proposal.request.update_属性(存档:“发送给客户的提案”)是以下各项的别名:
更新(属性)
从传入的散列更新模型的属性并保存记录,所有这些都包装在事务中。如果对象无效,保存将失败,并返回false
而update
返回的是true
或false
(文档对此可能要明确得多),而不是更新后的模型实例。因此:
@proposal = @proposal.update_attributes(status: "Sent to Client")
将@提案
保留为真
或假
,且两者都没有更新属性
方法
控制器方法应该更像这样:
def send_proposal
#...
@proposal.update(status: "Sent to Client"))
@proposal.request.update(archived: "Proposal Sent to Client")
#...
end
您可能还想对这两个update
调用执行一些错误检查。是以下调用的别名:
更新(属性)
从传入的散列更新模型的属性并保存记录,所有这些都包装在事务中。如果对象无效,保存将失败,并返回false
而update
返回的是true
或false
(文档对此可能要明确得多),而不是更新后的模型实例。因此:
@proposal = @proposal.update_attributes(status: "Sent to Client")
将@提案
保留为真
或假
,且两者都没有更新属性
方法
控制器方法应该更像这样:
def send_proposal
#...
@proposal.update(status: "Sent to Client"))
@proposal.request.update(archived: "Proposal Sent to Client")
#...
end
您可能也想对这两个update
调用执行一些错误检查。beauty!完美的工作和伟大的背景信息。谢谢美丽的!完美的工作和伟大的背景信息。谢谢