Я новичок в rails, и сейчас я пытаюсь разработать приложение на основе API с помощью Rails 5, на одном из моих контроллеров у меня есть функция для фильтрации позволяют параметры, как такRails Newby: Сильные параметры в Rails 5 не позволяют указать указанный параметр Through - HABTM
def provider_params
params.require(:provider).permit(:name, :phone, :email, :website, :address, :provider_id, :bio, :specialty_ids => [])
end
Затем посылка из Paw я не заметил, что аргументы, которые не являются атрибутами таблицы не включены в provider_params, параметр я должен получить массив, который определяется отношением HABTM.
Это как мои модели выглядят как
specialty.rb
class Specialty < ApplicationRecord
has_and_belongs_to_many :providers
end
provider.rb
class Provider < ApplicationRecord
has_and_belongs_to_many :specialties
end
И это, как присоединиться к таблице был креа Тэд с помощью миграции
class CreateProvidersSpecialties < ActiveRecord::Migration[5.0]
def change
create_table :providers_specialties, :id => false do |t|
t.integer :provider_id
t.integer :specialty_id
end
add_index :providers_specialties, :provider_id
add_index :providers_specialties, :specialty_id
end
end
JSON Я отправляю
{
"name": "the name",
"specialty_ids": [
1,
2
]
}
Так как я уже говорил, массив specialty_ids не кажется, не идет до конца, и даже если это так, я подозреваю, есть еще что-то еще мне нужно сделать для того, чтобы рельсы, чтобы вставить содержание specialty_ids в ProvidersSpecialties Таблица