Ruby on rails 通过API rails查找或创建

Ruby on rails 通过API rails查找或创建,ruby-on-rails,json,api,Ruby On Rails,Json,Api,尝试从API创建Rails属于关联 人物模型 class Person < ApplicationRecord end class Donation < ApplicationRecord belongs_to :person end 我想在创建捐赠之前返回刚刚创建的个人的person.id我想您可以在创建捐赠之后使用@generation.person.id获得它。让我们尝试下面给出的解决方案。我想您可以在创建捐赠之后使用@generation.person.id获得它@g

尝试从API创建Rails属于关联

人物模型

class Person < ApplicationRecord
end
class Donation < ApplicationRecord
  belongs_to :person
end

我想在创建捐赠之前返回刚刚创建的个人的person.id

我想您可以在创建捐赠之后使用
@generation.person.id
获得它。让我们尝试下面给出的解决方案。我想您可以在创建捐赠之后使用
@generation.person.id
获得它
@generation
。让我们试试下面给出的解决方案。@Benjamin如果答案对您有帮助,请随意接受/投票。:)@本杰明:如果答案对你有帮助,你可以随意接受/投票
def create
  @person = Person.find_by(email: params[:email])
  if @person.blank?
    @person = Person.create(email: params[:email], prenom: params[:prenom],
                  nom: params[:nom], address: params[:address], code_postal: params[:code_postal],
                  ville: params[:ville], pays: params[:pays], mobile: params[:mobile])

  end

  @donation = Donation.create(donation_params.merge(person_id: @person.id))
  #render json: @donation
  render :json => { donations: @donation, :person_id => @person.id }
end
def create
  @person = Person.find_by(email: params[:email])
  if @person.blank?
    @person = Person.create(email: params[:email], prenom: params[:prenom],
                  nom: params[:nom], address: params[:address], code_postal: params[:code_postal],
                  ville: params[:ville], pays: params[:pays], mobile: params[:mobile])

  end

  @donation = Donation.create(donation_params.merge(person_id: @person.id))
  #render json: @donation
  render :json => { donations: @donation, :person_id => @person.id }
end