Как новичок я начал заниматься API POC. У меня есть ситуация, как объяснено ниже:
У меня есть seekerController, в котором есть метод create. Я хочу, чтобы при выполнении запроса Post несколько параметров приходилось на таблицу поиска, а немногие - на таблицу профиля (в этой таблице также есть столбец seekerID). Я хочу сделать это с помощью фиксации транзакции. Итак, после прочтения я начал делать ниже: -
ActiveRecord::Base.transaction do
seeker = Seeker.new(seeker_params)
seeker.save!
params[:seeker_id] = seeker[:id]
seekerprofile = SeekerProfile.new(seekerprofile_params)
seekerprofile.save!
end
render json: {status: 'success', message: 'Request is processed successully', data:seeker},status: :created;
У меня есть определение ниже: (Я сомневаюсь, что приведенный ниже способ верен)
def seeker_params
params.require(:seeker).permit(:username, :alias, :mobile_number, :country_code, :email_address, :description, :status)
end
def seekerprofile_params
params.require(:seeker_profile).permit(:seeker_id, :first_name, :middle_name, :last_name, :date_of_birth, :pincode, :building_name, :address, :email_address, :description, :status)
end
Позвольте мне задать свой вопрос прямо здесь: -
У меня есть параметр запроса тела сообщения, как показано ниже:
{
"username" : "TestName12",
"alias" : "TestAlia12",
#above should go to seeker table
"first_name":"xyz",
"Last_Name":"abc"
#above should go above Seekerprofile table. seekerprofile has seekerid also.
}
Моя модель ниже: -
> class SeekerProfile < ApplicationRecord
>
> belongs_to :seeker end
Я пробовал то, что я написал в стартовом коде, но я получаю сообщение об ошибке, так как seekerprofile_params пусто. Поэтому я уверен, что мой подход неверен.
Может ли кто-нибудь предоставить пример кода, как это сделать? Я парень из java, поэтому свежее для ruby.