Rails: vérification des champs modifiés

Tout d'abord, j'ai généré échafaudage appelé "élément"

Je voudrais vérifier les champs de l'élément sont modifiés. et j'ai essayé deux tentatives, ceux n'êtes pas travailler tho.

Première Tentative!

def edit
  @item = Item.find(params[:id])
  @item_before_update = @item.dup
end

def update
  @item = Item.find(params[:id])
  # compare @item_before_update and @item here, but @item_before_update is NIL !!!
end

Deuxième Tentative!
J'ai regardé pour la façon de transmettre les données à partir de l'affichage de contrôleur et je ne pouvais pas.
modifier.html.erb

<% @item_before_update = @item.dup %> # I thought @item_before_update can be read in update method of item controller. But NO.
<% params[:item_before_update] = @item.dup %> # And I also thought params[:item_before_update] can be read in update mothod of item controller. But AGAIN NO

<% form_for(@item) do |f| %>
# omitted
<% end %>

S'il vous plaît laissez-moi savoir comment résoudre ce problème 🙁

source d'informationauteur Hongseok Yoon