Jesteś pewien,że akcja update w tym kontrolerze jest wykonywana? Tzn. zmiany się zapisują, tylko walidacja nie przechodzi?
Spróbuj tak:
<% form_for @user do |f| %>
</br><label>(RRRR-MM-DD)</label>
<%= f.text_field :deadline %>
<input id="inputsubmit7" type="submit" name="inputsubmit7" value="Dodaj" />
<% end %>
ewentualnie, choć nie DRY
<% form_for :user, @user, :url => user_path(@user), :html => {:method => :put} do |f| %>
Oczywiście dla akcji edit, powinieneś mieć coś w stylu:
<form action="/user/5" class="edit_user" id="edit_user_5" method="post"><input name="_method" type="hidden" value="put" />
To pierwsze co bym poprawił, później możemy zabierać się za dalsze błędy 
pozdrawiam
Zmiany się zapisują, problem jest tylko z walidacją. Sprawdziłem to co napisałeś, ale dalej nie działa. Nie wiem o co chodzi z tym: <form action="/user/5" class="edit_user" id="edit_user_5" method="post"><input name="_method" type="hidden" value="put" />
[quote=karol_mur]Zmiany się zapisują, problem jest tylko z walidacją. Sprawdziłem to co napisałeś, ale dalej nie działa. Nie wiem o co chodzi z tym: <form action="/user/5" class="edit_user" id="edit_user_5" method="post"><input name="_method" type="hidden" value="put" />
[/quote]
To powinieneś mieć w kodzie źródłowym. Stworzyłem sobie taką aplikację na szybko, żeby sprawdzić czy może czegoś nie przeoczyłem, ale wszystko działa jak powinno (ciężko coś zepsuć). Rozumiem,że kod jest zbyt ważny, żeby udostępnić źródła aplikacji.
Chyba debbugowanie może tutaj pomóc tylko z twojej strony. Z pomocą np. Netbeansów, Redmine.
pozdrawiam
To wklej może ten kod co napisałes. Może to byłoby dla mnie pomocą.