Ich habe es auf verschiedene Arten versucht, aber es funktioniert nicht. Ich habe in diesem Projekt einen anderen Controller mit dem gleichen Code arbeiten, der Unterschied, dass ein anderer die has_many-Beziehung verwendet, und der mit Problem ist has_one und gehört_to. Lass uns zum Code gehen.undefined Methode `with_indifferent_access 'für # <Array:
class Endereco < ActiveRecord::Base
has_one :user
end
class User < ActiveRecord::Base
belongs_to :endereco
accepts_nested_attributes_for :endereco
Der starke Parameter in der Steuerung:
class Backoffice::UsersController < BackofficeController
def create
@user = User.new(params_user)
respond_to do |format|
if @user.save!
format.json { render json: @user, include: :endereco}
else
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
def params_user
params.require(:user).permit(:nome,
:email,
:password,
:password_confirmation,
:cpf,
:tel_fixo,
:tel_cel,
endereco_attributes: [
:rua,
:bairro,
:cidade,
:uf,
:cep,
:referencia,
:numero,
:complemento
])
end
Als ich diese json über POSTMAN senden erhalte ich die Fehler> nicht definierte Methode `with_indifferent_access' für #ARRAY: auf dieser Linie
@ user = Benutzer.neu (params_user)
{ "user":{
"nome" : "teste1",
"email" : "[email protected]",
"password": "123",
"password_confirmation": "123",
"cpf": "123321",
"tel_fixo": "123321",
"tel_cel": "asdsd",
"endereco_attributes": [
{
"rua": "tt",
"bairro": "tete",
"cidade": "asdas",
"uf":"asdasd",
"cep": "12321",
"referencia": "asdasd",
"numero":"123",
"complemento":"123" }
]
}}
Jemand, der mir ein Licht gibt? Vielen Dank!
Benutzer kann nur über json registriert werden, verstehe ich immer noch nicht sehr gut, ich änderte die ensreeco_attributes nur zu endereco und diesmal hatte ich die Rückkehr Endereco (# 42380200) erwartet, bekam Array (# 18448440) –