RoR, Передача переменной в представление дает нулевой объект - PullRequest
0 голосов
/ 02 августа 2011

Я устанавливаю переменную в моем контроллере, но по какой-то причине она не устанавливается. Я попробовал это двумя способами.

  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/m Пробег/app/models/car_info.rb для определения Car_info

в моем контроллере app / controllers / active_car_controller.rb: 6: в `update '

Любая помощь будет оценена. Новое в RoR.

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

Я вижу, что ваш метод контроллера называется 'udpate' вместо 'update' - может ли это быть вашей проблемой?

1 голос
/ 02 августа 2011

Вам нужно изменить свой запрос на:

@available_cars = Car_info.find_all_by_user_id(session[:user_id])

Часть find_all получит все записи, а find - только первую.Другой способ написать это:

@available_cars = Car_info.where("user_id = ?", session[:user_id])

В идеале вы хотите, чтобы ваш класс назывался CarInfo, а не Car_info.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...