Ошибка в при создании строки в таблице
При создании заявки в таблице БД в RoR выдается данная ошибка:
Missing model class Sotrudnikis for the Zayavk#sotrudnikis association. You can specify a different model class with the :class_name option.
Модель данная существует, даже связи прописаны. В чем может быть ошибка тут?
class Zayavk < ApplicationRecord
belongs_to :sotrudnikis
belongs_to :kii_objs
belongs_to :incidents_types
belongs_to :zayavka_statuses
end
class Sotrudniki < ApplicationRecord
belongs_to :dolznosti
belongs_to :role
validates :s_name, presence: true, uniqueness: true
has_secure_password
end
# Части кода контроллера, выдающего ошибку:
def create
@zayavk = Zayavk.new(zayavk_params)
respond_to do |format|
if @zayavk.save
format.html { redirect_to @zayavk, notice: "Zayavk was successfully created." }
format.json { render :show, status: :created, location: @zayavk }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @zayavk.errors, status: :unprocessable_entity }
end
end
end
Ответы (1 шт):
В рельсах есть механизм для определения имени класса по имени связи, это обычная плюрализация (постановка во множественное число). Она отлично работает для английского, но с таким транслитом, как у вас, справиться не может. Варианта два - явно прописать class_name у связи или перейти всё же на инглиш, что сильно предпочтительнее и читаемее. Request и Employee, например
Обратите внимание и на то, что в belongs_to связь мы указываем в единственном числе, так как там одна сущность.