Невероятно новый для Rails и попробовал несколько вещей здесь без успеха.Rails Вложенная форма Создание неправильного внешнего ключа
Моя проблема в том, когда я отправляю в базу данных эту вложенную форму, одну из моих таблиц (apartment_images) с неправильным внешним ключом (apartment_id).
У меня есть довольно сложная модель отношения: У меня есть здания has_many_through другой таблица, которая связывает его с (среди прочих) в Apartments стола. Проблемный apartment_images стол принадлежит Апартаменты.
, сокращенная версия ниже:
модели здания
has_many :building_relationships
has_many :apartments, :through => :building_relationships
accepts_nested_attributes_for :apartments, allow_destroy: true
квартира Модель
belongs_to :building
has_many :apartment_images, -> { order(position: :asc) }, dependent: :destroy
has_many :building_relationships
has_many :buildings, :through => :building_relationships
ApartmentImage Модель
belongs_to :apartment
buildings_controller (исключенных новый метод)
def createNewBuilding
@building = Building.new(building_params)
@apartment = Apartment.where(building_id: @building.id)
#also tried this but results in no id being save:
#@apartment = @building.apartments.build(apartment_params)
if @building.save
redirect_to newBuilding_path, notice: "Successfully created building"
else
render 'newBuilding'#, notice: "ERROR"
end
if apartment_image_params
apartment_image_params[:image].each do |value|
@apartment.apartment_images.build({image: value}).save
end
end
end
def apartment_image_params
#also tried adding :apartment_id. didn't work.
params.require(:apartment_image).permit(:id, image: []) if params[:apartment_image]
end
я мог быть недоразумением, но внешний ключ для apartment_image _should_ быть apartment_id, поскольку каждое изображение принадлежит к одному и только одна квартира, и каждая квартира может иметь несколько изображений. Можете ли вы подробно остановиться на своей проблеме? – jjk
в основном, когда я нажимаю submit на форме и проверяю базу данных, она будет размещать изображение или изображения, но свяжет его с неправильным квартирным_идом (т. Е. Не созданной квартирой из формы) – Noobprogrammer
Почему вы используете 'has_many, хотя:' отношения между зданием и квартирой? неужели квартира не может быть в нескольких зданиях? – max