Rspec Создать / обновить неизвестный атрибут атрибута - PullRequest
1 голос
/ 23 декабря 2011

Я использую последние версии Rails, Rspec и Factory Girl, и у меня возникает странная проблема, когда я пытаюсь проверить мою логику создания или обновления.Рассматриваемый контроллер является администратором пространства сообщений PostsController, а модель - Post.Сама фабрика просто создает сообщение с заголовком и телом.

describe 'create' do
before :all do
    @new = Factory.build(:post)
end

it 'should be successful' do
  post :create, :post => @new
  response.should be_success
end

describe 'failure' do
  it 'should not create a new page' do
    lambda do
      post :create, :post => @new
    end.should_not change(Post, :count)
  end

  it 'should render the new template' do
    post :create, :post => @new
    response.should render_template('new')
  end
end

end

Ошибка, которую я продолжаю получать:: неизвестный атрибут: post

Возможно, я делаю что-то чрезвычайно глупое, но сейчас я просто потерян.

ОБНОВЛЕНИЕ

На всякий случай, если кто-нибудь когда-нибудь наткнется на это ...

Я делал что-то чрезвычайно глупое.В моем контроллере произошла ошибка, когда вместо вызова Post.new (params [: post]) я вызывал Post.new (params) ...

1 Ответ

2 голосов
/ 23 декабря 2011

Было бы полезно узнать, на какой линии происходит сбой.Если происходит сбой в блоке before: all, проблема, возможно, связана с вашим заводским кодом, который, по-видимому, указывает значение для несуществующего атрибута post в модели.

фабрика работает, но атрибут 'post' действительно должен существовать, тогда, возможно, вы запустили его, используя rspec из командной строки, без запуска rake db:test:prepare.В этом случае структура таблицы «сообщений» может быть устаревшей.

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