link_to_unless_current fails when processing forms with error messages in it with restful routes

Hello,

does anyone know how to prevent the failing mechanism of
link_to_unless_current?

f.e.: I have my page navigation with

link_to_unless_current "new task", new_task_path

When I click on the link, i come to the new taks path form... And no
link is created -> ok. Then I put incorrect values in the form and
submit.

The TasksController processes the "create" action, the validation for
the ActiveRecord-model fails because of the incorrect data and the
controller renders the "new" action (and includes the error messages
for the model).

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

But here the link gets created! -> Because of the difference between
the urls:

  link path = new_task_path

but

  posted path = tasks_path with :method => :post

Does anybody know how to cleanly solve this problem?

Thanks

ou can do it with link_to_unless instead of link_to_unless_current:

link_to_unless(controller_name == 'tasks' &&
                 (action_name == 'new' || action_name == 'create'),
               new_task_path)