Проблема модельных отношений в Rails 3 при развертывании в Heroku - PullRequest
1 голос
/ 29 марта 2011

У меня проблемы с отношениями в приложении Rails 3.В индексном представлении одной из моих моделей я отображаю поле другой модели, и оно работает совершенно локально, но когда я перемещаю его в Heroku, я получаю страшное «Извините, но что-то не так».сообщение.Когда я проверяю журнал heroku, возникает ошибка "ActionView :: Template :: Error (неопределенный метод` marca 'для nil: NilClass): "

Это модель Marca:

class Marca < ActiveRecord::Base
  has_many :modelos
  has_many :vehiculos

end

Это модель Modelo:

class Modelo < ActiveRecord::Base
  belongs_to :marca
  has_many :vehiculos
end

Я пытаюсь вызвать f.marca.nombre в индексном представлении Modelo, чтобы отобразить поле «nombre» из таблицы «marca».У меня есть поле marca_id в таблице Modelo.Странно то, что он работает локально, и иногда он работает на герою, если я изменяю порядок линий отношений в модели.Затем, после нескольких нажатий на heroku, он перестает работать снова.

Я попытался запустить 'Modelo.reset_column_information' на консоли heroku.

Есть предложения?Должен ли я что-то сделать, чтобы загрузить изменения в модели?Спасибо!

1 Ответ

0 голосов
/ 29 марта 2011

В представлении вы делаете это f.marca.nombre.«Nombre» это поле в Марке.И вы должны делать это в вашем новом действии modelos_controller.

def new
  marca = Marca.find(params[:id])
  @madelo = Madelo.new(:marca => marca)
end

Проверить marca на ноль и установлен ли marca.nombre?Это то, что выдает ошибку.

...