Hi,

ich stelle gerade meine kleine Anwendung auf Rails 2.1.0 um (vorher Rails 1.2.3). Jetzt stolper ich über eine alltägliche Situation - update_attributes.

Mein Modell "User" hat u.a. ein Feld "Bemerkung", welches ich erst im Controller mit:

params[:user][:bemerkung] = @user.bemerkung << "bearbeitet am " << Time.now << params[:chat]

bearbeite.

Edit-View:
<% form_for(@user) do |u| %>
...
        </tr><tr>
                <th rowspan=2>Bemerkung</th>
                <td colspan=3><%= simple_format(@user.bemerkung) %></td>
        </tr></tr>
                <td colspan=3><%= text_area_tag 'chat', nil, :size => "75x10" 
%></td>
        </tr>
...
    <%= u.submit "Speichern" %>
<% end %>

Controller-Update
  def update
    @user = User.find(params[:id])
params[:user][:bemerkung] = @user.bemerkung << "bearbeitet am " << Time.now << params[:chat]
    if @user.update_attributes(params[:user])
      flash[:notice] = 'User erfolgreich gespeichert.'
...
    end
  end

Bisher lief das alles prima, mit update_attributes wurde auch das Feld "Bemerkung" geupdatet.

Seit der Umstellung geht dies nicht mehr, er speichert alle veränderten Felder, nur die Bermerkung nicht mehr :/ Ich habe inzwischen auch mal ein hidden_field ausprobiert, da speichert ers zwar in die DB (MySql), jedoch müllt er mir damit die Bemerkung bei jeder fehlerhaften Validierung zu.
Bemerkung hat aber keine Validierung *anmerk*

Das Internet hab ich jetzt durchwühlt ohne Ergebnis. Wo liegt mein Denkfehler?

Grüsse

Dani

_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an