Я получаю сообщение об ошибке при попытке добавить провайдера в мой p_list. Он говорит неопределенную таблицу, но не уточняет?
Вот моя ошибка 'PG :: UndefinedTable: ERROR: отношение "p_lists" не существует ЛИНИЯ 8: ГДЕ a.attrelid =' "p_lists" ':: regclass ^: ВЫБРАТЬ a.attname, format_type (a.atttypid, a.atttypmod), pg_get_expr (d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod, c.collname, col_description (a.attrelid, a.attnum) КАК КОММЕНТАРИЙ ИЗ pg_attribute a LEFT JOIN pg_at d ON a.attrelid = d.adrelid AND a.attnum = d.adnum ВЛЕВО ПРИСОЕДИНЯЕТСЯ pg_type t ON a.atttypid = t.oid ВЛЕВО СОЕДИНЯЕТСЯ pg_collation c ВКЛ. ГДЕ a.attrelid = '"p_lists"' :: regclass AND a.attnum> 0 И НЕ a.attisdropped ЗАКАЗ a.attnum '
class patient_controller < ApplicationController
def add_provider
@patient = current_user.current_role.roleable
@provider = Provider.find(params[:provider_id])
@plist = PList.where(
:membershipable_type => 'Patient',
:membershipable_id => params[:membershipable_id],
:provider_id => params[:provider_id]).first_or_create do |plist|
plist.membershipable_type = 'Patient'
plist.membershipable_id = params[:membershipable_id]
plist.provider_id = params[:provider_id]
end
@mplist.soft_delete = false
if @plist.save
flash[:success] = "You are now a member of " + @site.name + "."
redirect_back(fallback_location: root_path)
else
flash[:error] = @plist.errors.full_messages.to_sentence
end
end
end
Вот мой стол для p_list
create_table "p_list", force: :cascade do |t|
t.string "membershipable_type"
t.bigint "membershipable_id"
t.integer "patient_id"
t.boolean "soft_delete", default: false
t.integer "provider_id"
t.index ["membershipable_type", "membershipable_id"], name: "index_p_list_on_membershipable_type_and_membershipable_id"
end
Вот моя модель для p_list
class PList < ApplicationRecord
belongs_to :membershipable, :polymorphic => true
belongs_to :provider
end
Ластели, вот модель моего провайдера
class Provider < ApplicationRecord
has_many :p_list
end