J'ai un modèle simple appelé Discussion qui a une colonne booléenne appelée resolved.Rails: update_attributes ne met pas à jour tous les attributs
Dans ma forme, je le code suivant
<%= form_for(@discussion) do |d| %>
...
<%= d.check_box :resolved %>
<% end %>
Et dans mon contrôleur, je les suivantes:
def update
@discussion = Discussion.find(params[:id])
if @discussion.update_attributes(params[:discussion])
etc...
end
end
Quand je soumets la forme, je peux voir que les paramètres sont étant envoyé au serveur ...
Parameters: {"utf8"=>"✓", "authenticity_token"=>"AsGsRHwiVva/+kTrBs0IjLeZwj1ZmXBuKZr9Pg/N6Xk=", "discussion"=>{"shortdesc"=>"Talk about something.", "content"=>"Try to update check box.", "resolved"=>"1"}, "commit"=>"Update Discussion", "id"=>"1"}
Mais la requête ne comprend rien à propos de la mise à jour de cette fi eld.
AREL (14.9ms) UPDATE "discussions" SET "content" = 'Try to update check box.', "updated_at" = '2011-07-18 17:53:50.783176' WHERE "discussions"."id" = 1
Une idée de ce qui me manque?
mon argent est sur le numéro 4 – stephenmurdoch
Il était en fait le numéro 4. Bon oeil. Merci pour l'aide. –
Une autre possibilité est que le modèle 'Discussion' a des validations ou des rappels qui interfèrent avec la mise à jour. – Dty