Christian Kruse: Tags ändern beim Editieren und History

Beitrag lesen

Hallo woodfighter,

ok, beim Beitrag auf den ich gerade antworte, konnte ich Bug als Tag beim editieren hinzufügen (taucht trotzdem nicht in der History auf), das scheint also kompliziertere Hintergründe zu haben oder ich stelle mich doof an.

Mit dem „Tags neu vergeben“-Button hat das nichts zu tun, das sind zwei unterschiedliche code pathes. Aber auch so kann ich dein Problem nicht nachvollziehen. Kannst du das vielleicht nochmal testen? Dem Code nach wäre das schon so merkwürdig, entweder das ganze Posting wird gespeichert oder gar nichts wird gespeichert, das passiert alles in einer Transaktion:

      CfMessage.transaction do
        raise ActiveRecord::Rollback unless @message.save
        @message.tags.delete_all
        raise ActiveRecord::Rollback unless save_tags(current_forum, @message, @tags)

        if del_versions
          CfMessageVersion.delete_all(['message_id = ?', @message.message_id])
        else
          raise ActiveRecord::Rollback if @version and not @version.save
        end

        if params[:retag_answers] == '1' and may?(RightsHelper::RETAG)
          @message.all_answers do |m|
            m.tags.delete_all
            raise ActiveRecord::Rollback unless save_tags(current_forum, m, @tags)
          end
        end

        saved = true
      end

Das raise ActiveRecord::Rollback würde die ganze Transaktion rollback-en und den Block verlassen.

LG,
CK