link_to_unless_current schlägt fehl, wenn Formulare mit Fehlernachrichten auf verbleibenden Routen verarbeitet werden

weiß jemand, wie man den ausfallenden Mechanismus von link_to_unless_current verhindert?

zB: Ich habe meine Seitennavigation mit

link_to_unless_current "new task", new_task_path

Wenn ich auf den Link klicke, komme ich zum neuen Takes-Pfad-Formular ... und es wird kein Link erstellt -> ok. Dann habe ich falsche Werte in das Formular eingetragen und abschicken.

Der TasksController verarbeitet die Aktion "create", die Validierung für das ActiveRecord-Modell schlägt aufgrund der falschen Daten fehl und der Controller rendert die Aktion "new" (und enthält die Fehlermeldungen für das Modell).

class TasksController < ApplicationController
    def create
        @task = Task.new(params[:task])

        if @task.save
            flash[:notice] = 'task was successfully created.'
            redirect_to(tasks_url)
          else
            render :action => "new"
        end
    end
end

Aber hier wird der Link erstellt! -> Wegen des Unterschieds zwischen den URLs:

  link path = new_task_path

aber

  posted path = tasks_path with :method => :post

Weiß jemand, wie man dieses Problem sauber löst?

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage