Работает в интерактивном сеансе, но не проходит в тесте Rails System:
При использовании byebug неожиданно возвращается пустой в представлении шоу
@item.children.where(done: false)
Если я пропущу ActiveRelation, вот так, я правильно вижу объект
@item.children
#<ActiveRecord::Associations::CollectionProxy [#<Item id: 980190964, title: "my item", done: false
Эта неожиданно возвращает 1 запись
@item.children.where.not(done:false)
Настройка (работает хорошо)
setup do
@user = users(:one)
visit login_url
fill_in "Email", with: @user.email
fill_in "Password", with: 'secret'
click_on "Login"
end
Тест (работает хорошо, но элемент не будет отображаться!)
test "create one entry" do
visit item_url(@user.top_item)
fill_in('item[title]', with: 'my item')
find_field('item[title]').native.send_key(:enter)
visit current_path
assert_selector "h5", text: "parentObject", match: :one
end
Часть шоу-акции:
@children = @item.children
@newItem = current_user.items.new
Часть представления шоу:
<% @children.where(done: false).each do |item| %>
Даже атрибут @children пуст. Перезагрузка не имеет никакого значения.