У меня в проекте Rails 5 api две модели: Места и маяки (Place has_many Beacons, foreign key: place_id). Этот API принимает JSON, например, эта:Сохранение массива параметров в Rails
{
"place":{
"name": "bedroom"
},
"beacon":{
"SSID": "My Wi-Fi",
"BSSID": "00:11:22:33:44:55",
"RSSI": "-55"
}
}
Это JSON работает просто отлично, с этими классами:
def create
@place = Place.new(place_params)
@beacon = Beacon.new(beacon_params)
if @place.save
@[email protected]
if @beacon.save
render :json => {:place => @place, :beacon => @beacon}, status: :created, location: @places
else
render json: @beacon.errors, status: :unprocessable_entity
end
else
render json: @place.errors, status: :unprocessable_entity
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_place
@place = Place.find(params[:id])
end
# Only allow a trusted parameter "white list" through.
def place_params
params.require(:place).permit(:name)
end
def beacon_params
params.require(:beacon).permit(:SSID, :BSSID, :RSSI)
end
Однако я хочу, чтобы передать несколько -маяков объектов в том же формате JSON в массиве (даже без маяков). Как сохранить все маяки в массиве параметров и сгенерировать ответ, содержащий все из них?