У меня есть класс ActiveRecord, Post.Полтергейст потерял информацию db
В моей особенностью спецификации, которая работает с Capybara, RSpec и полтергейст, я создал два экземпляра его с FactoryGirl
FactoryGirl.create(:post, topic: "Blade running")
FactoryGirl.create(:post, topic: "Dreaming of electric sheep")
Что я могу сразу же проверить в спецификации:
scenario "Linking to post by tag", js: true do
FactoryGirl.create(:post, topic: "Blade running")
FactoryGirl.create(:post, topic: "Dreaming of electric sheep")
Post.count # => 2
Post.all.all?(&:persisted?) # => true
visit root_path
# more stuff
end
Но когда на следующей строке я посещаю корневой путь для своего приложения (что указывает на действие индекса в приложении моих сообщений), сообщения исчезли (вместе со своими ассоциациями):
class PostsController < ApplicationController
def index
@posts = Post.all # => []
#stuff
end
# more methods
end
и когда я вернусь из действия контроллера, до контрольного уровня, они вернулись:
Post.count # => 2
Post.all.all?(&:persisted?) # => true
visit root_path
Post.count # => 2
Post.all.all?(&:persisted?) # => true
В спецификации, которые не используют JS У меня нет этой проблемы - и просто удаление «js: true» из сценария исправляет его. Но поскольку я использую часть сайта, для которой требуется JS, это не вариант.
Я бы опубликовал это на вопросах Полтергейста, но поскольку я делаю что-то очень фундаментальное, мне кажется, что я делаю что-то неправильно, чем эта часть Полтергейста сломана. Какая у меня ошибка?
Версия: рельсов 5.0.0 Полтергейст 1.10.0 Капибара является 2.8.0 RSpec-Rails является 3.5.1
Это сработало, спасибо :) – Arepo