Ho appena creato una nuova app da zero su rails4.0.0.rc1
con 1.9.3-p374
(che dovrebbe funzionare in base alle guide).metodo non definito `synchronize 'per nil: NilClass
Tuttavia, non riesco a fare un semplice create
-action.
class Books
def create
@book = Book.new book_params
if @book.save
redirect_to @book
else
render action: :new
end
end
private
def book_params
params.require(:book).permit(:name, :description)
end
end
Facendo un creare qui risulta una
undefined method `synchronize' for nil:NilClass
con l'errore indicando la linea di if @book.save
.
E 'a causa di 1.9.3
o mi sono perso qualcosa?
è possibile eseguire il debug o logga '@ book' per vedere che è inizializzato, va bene? –
'@ book' è ok. Apparentemente, ciò accade solo quando il modello ha una validazione univoca in esso. Ho archiviato un bug (https://github.com/rails/rails/issues/10454) – pduersteler
Ho sbagliato, il problema è quando si assegna un array vuoto a un'associazione, come '@book.genre_ids = [] '. – pduersteler