我在我的控制器中設置了一個變量,但由於某種原因沒有設置。我嘗試了兩種方法。RoR,將變量傳遞到視圖中給出一個空對象
def update
# @available_cars = Car_info.where("user_id = ?", session[:user_id])
@available_cars = Car_info.find_by_user_id(session[:user_id])
end
在我看來,我這樣做。
<% @available_cars.each do |car| %>
<%= car.name %>
<% end %>
我打算做的是填充@available_cars成一個下拉列表,但我甚至不能讓他們打印。我知道會話[:user_id]已設置,因爲我打印並在其他地方訪問它。
我得到這個錯誤... 預計d:/RailsProjects/mileage/app/models/car_info.rb在我的控制器 應用程序/控制器/ active_car_controller.rb定義Car_info
:6:`更新'
任何幫助,將不勝感激。新的RoR。
將這個** Car_info.find_by_user_id(session [:user_id])**更改爲** Car_info.find_by_user_id!(session [:user_id])**並查看它給您帶來的錯誤。此外,你**不應該**使用下劃線命名類。 –
你確定你在正確的控制器操作中這麼做嗎?更新通常是與相應的「編輯」GET視圖關聯的PUT操作。也許你更願意在'編輯'方法中做到這一點? – ipd
@MauricioLinhares感謝您的意見。 Car_info是使用內置腳手架自動創建的模型的名稱。這可能是爲什麼我得到以下錯誤? – Xaxum