我創建新功能正在工作,現在它不知何故被破壞。不知道爲什麼。動作控制器異常錯誤
我得到這個錯誤:
而且我行控制器是該
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]' –