我创建新功能正在工作,现在它不知何故被破坏。不知道为什么。动作控制器异常错误
我得到这个错误:
而且我行控制器是该
private
def set_space
@space = Space.find(params[:id])
@property = Property.find(params[:id])
# @contract = Contract.find(params[:id])
end
我创建新功能正在工作,现在它不知何故被破坏。不知道为什么。动作控制器异常错误
我得到这个错误:
而且我行控制器是该
private
def set_space
@space = Space.find(params[:id])
@property = Property.find(params[:id])
# @contract = Contract.find(params[:id])
end
我总是这个代码块添加到我的意见/布局/ application.html的底部。 erb
<% if Rails.env.development? %>
<%= debug(params) %>
<% end %>
它应该告诉你什么是你的params。
params [:id]是零。我会仔细检查其在URL中传递:
/route/:id
或者
/route?id=1
您试图通过在控制器的方法一个id
获得两项纪录:
@space = Space.find(params[:id])
@property = Property.find(params[:id])
你应该修改此代码,除非您有意这样做。
其次,在做.find(params[:id])
之前,您应该始终检查是否在params[:id]
之前收到了有效的id
。你可以做到这一点:
@space = Space.find(params[:id]) if params[:id]
如果你使用,find_by_id
,它给你nil
如果记录未找到,而不是你在你的情况下所得到的错误消息。
您得到的错误的原因很简单,就是您试图从db访问记录的id
不存在。
我有我的set_property方法:新动作
在哪个控制器中你有那个代码? – Pavan
根据错误你的参数没有身份证。尝试看看这些参数。 – Athar
@Athar有'params [:id]',但是在数据库中没有id等于'params [:id]' –