У меня есть таблица соединений, которую я не назвал, используя традиционные соглашения Rails.Он объединяет модели Participant
и Group
(связанные с использованием has_and_belongs_to
) и обычно имеет имя groups_participants
.
Я попытался уничтожить запись в модели Group
и получил недопустимую ошибку оператора: "Не удалось найти таблицу" groups_participants
""
Моя таблица соединения не названаgroups_participants
, а точнее с именем "matchups
"
Это проблема?Нужно ли мне менять имя таблицы соединений?Из прочтения нескольких статей можно получить псевдоним для таблицы соединений.
Это моя таблица соединений из schema.rb
create_table "matchups", id: false, force: :cascade do |t|
t.integer "group_id", null: false
t.integer "participant_id", null: false
t.index ["group_id", "participant_id"], name: "index_matchups_on_group_id_and_participant_id"
t.index ["participant_id", "group_id"], name: "index_matchups_on_participant_id_and_group_id"
end
Этот код выделен на моей странице ошибки:
def table_structure(table_name)
structure = exec_query("PRAGMA table_info(#{quote_table_name(table_name)})", 'SCHEMA')
raise(ActiveRecord::StatementInvalid, "Could not find table '#{table_name}'") if structure.empty?
table_structure_with_collation(table_name, structure)
end
Попытка удалить запись, существующую вмоей модели Group
, которая не смогла найти причину, но не смогла найти 'groups_participants
'.