assert_template завершается ошибкой после переключения на полиморфные ассоциации

Это, наверное, что-то глупое простое, но я просто не могу понять это. Вот моя ситуация: после добавления новой базы данных я понял, что было бы лучше изменить уже существующую, чтобы она теперь использовала полиморфные ассоциации. Конечно после того, как я изменил это, почти все остальное пошло к черту. Хотя мне удалось исправить все, кроме одной незначительной проблемы. Тест на интеграцию сейчас не проходит, и я просто не знаю, почему, так как сама страница все еще работает отлично...

def setup
  @user=users(:michael)
  @clip=clips(:Michi_clip_one)
  log_in_as(@user)
end

test "successful edit" do
  get edit_clip_path(@clip)
  assert_template "clips/edit"
  ....


FAIL["test_successful_edit", ClipEditTest, 2.686249095015228]
test_successful_edit#ClipEditTest (2.69s)
expecting <"clips/edit"> but rendering with <[]>
test/integration/clip_edit_test.rb:13:in `block in <class:ClipEditTest>'

Поскольку я действительно не знаю, в чем заключается проблема, я просто добавлю несколько вещей, с которыми, я думаю, они могут быть связаны.

Michi_clip_one:
  adress: "nfWlot6h_JM"
  owner: michael
  description: "MyText"

,

class Clip < ApplicationRecord
  belongs_to :owner, polymorphic: true
  default_scope -> { order(created_at: :desc) }
  validates :adress, presence: true, uniqueness: {scope: :owner}
  before_save { self.adress=adress.split("=").last }
  validates :owner, presence: true
end

,

class ClipsController < ApplicationController

  before_action :logged_in_user, only: [:new, :destroy, :edit, :update, :create]
  before_action :correct_user, only: [:destroy, :edit, :update]

  def edit
    @clip=current_user.clips.find_by(id: params[:id])
  end

Если вам понадобятся другие строки кода, чтобы разобраться в проблеме, я буду рад ее добавить.

1 ответ

Хорошо понял. При использовании полиморфных ассоциаций, светильники нужно немного изменить, добавив соответствующую модель.

Michi_clip_one:
  adress: "nfWlot6h_JM"
  owner: michael (User)
  description: "MyText"
Другие вопросы по тегам