2013-08-05 2 views
0

Я не понимаю, почему им получать эту ошибкуБрус понять, почему им получать неопределенный метод form_for

undefined method `sector_id' for #<Portfolio:0x007fe17c2e3848> 

У меня есть Портфолио модели и модели с сектора, они выглядят так

class Portfolio < ActiveRecord::Base 
    belongs_to :sector 
    attr_accessible :overview, :title, :sector_id 
end 



class Sector < ActiveRecord::Base 
    has_many :portfolios 
    attr_accessible :name 
end 

Мои маршруты

resources :portfolios do 
    resources :sectors 
end 

Так внутри моей формы, чтобы создать новый портфель у меня есть этот collection_select

<%= f.label :sector_id, "Choose Sector", :class => 'title_label' %><br> 
<%= f.collection_select(:sector_id, Sector.all, :id, :name, :prompt => "Please Select a Sector") %> 

Это что-то ive сделано много раз раньше, и это сработало, может кто-нибудь понять, почему я получаю эту ошибку.

Единственное, что я могу придумать, это то, что я позвонил своему контроллеру для портфолио в виде портфелей ... Я всегда смешиваюсь с множественными и уникальными именами контроллеров, будет ли это иметь значение в моем случае?

Благодаря

ответ

5

Может быть, вы не запускали миграцию пока что добавляет столбец «sector_id» в таблице «портфелей». Если вы используете MySQL, подключитесь к своей базе данных и проверьте таблицу (show create table portfolios;). Используйте соответствующий метод для получения этой информации с сервера базы данных, если вы используете другие rdbms. Кроме того, в консоли рельсов (rails c) введите Portofolio и посмотрите, какие атрибуты он распечатывает. Включает ли он sector_id?

+0

yup that was it, (slaps head) спасибо за головы :) – Richlewis

Смежные вопросы