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)