J'essaie de définir un attribut sur un objet que je crée. Je me sens comme cela devrait fonctionner:Comment définir un attribut lors de la création d'un objet ActiveRecord?
def create
@album = Album.new(params[:album])
@album.user = current_user
if @album.save
flash[:notice] = 'Album was successfully created for ' + current_user.login + '.'
redirect_to albums_url
else
render :action => "new"
end
end
Mais il semble ignorer l'affectation au champ user
. Des idées?
Oui, la hiérarchie des classes est correctement configurée. Donc, je devrais cela à la place de l'appel à Album.new? Quand j'essaye cela, j'obtiens une méthode non définie 'build 'pour # –
pkaeding
Désolé, il y a eu une erreur dans mon code que j'ai corrigé maintenant. La méthode de construction est sur le tableau des albums de l'utilisateur. Cela étend le nouvel album aux albums appartenant à cet utilisateur, c'est-à-dire qu'il remplit le champ user_id du nouvel album. –