컨트롤러에 변수를 설정하고 있는데 어떤 이유로 설정되지 않습니다. 나는 그것을 두 가지 방법으로 시도했다.RoR,보기에 변수를 전달하면 null 객체가 표시됩니다.
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]이 인쇄되고 다른 곳에 액세스하기 때문에 세션이 설정되었음을 압니다. /RailsProjects/mileage/app/models/car_info.rb 내 컨트롤러 응용 프로그램/컨트롤러/active_car_controller.rb에
Car_info
을 정의 할 수 :나는이 오류가 ... 예상 D 얻을 6 :`에 업데이트 '
도움이 될 것입니다. RoR을 처음 사용합니다.
** ** Car_info.find_by_user_id (세션 [: user_id]) ** ** ** Car_info.find_by_user_id! (세션 [: user_id]) **로 변경하고 어떤 오류가 발생했는지 확인하십시오. 또한 ** ** 클래스에 밑줄을 사용해서는 안됩니다. –
올바른 컨트롤러 작업에서이 작업을 수행하고 있습니까? 업데이트는 일반적으로 해당 '편집'GET보기와 연결된 PUT 동작입니다. 아마도 '편집'방법으로이 작업을 수행 할 것입니까? – ipd
@MauricioLinhares 입력 해 주셔서 감사합니다. Car_info는 내장 된 스캐 폴딩을 사용하여 자동으로 생성 된 모델의 이름입니다. 이것이 왜 다음과 같은 오류가 발생할 수 있습니까? – Xaxum