没有路由匹配link_to中的操作

时间:2011-06-21 20:06:31

标签: ruby-on-rails-3

我对如何设置自定义操作的路径感到有些困惑。我认为我有以下链接:

<%= link_to 'mark done', finish_task_path(task.id), :method => :post %>

在我的tasks_controller中,我有:

  def finish
     @task = Task.find(params[:id])
     new = {:status => "done"}
     @task.update_attributes(new)
     redirect_to :action => "index"
  end

在我的路线文件中,我有:

match '/tasks/:id/finish', :to => 'tasks#finish'

我也在我的观点中尝试了以下内容:

    <%= link_to 'mark done', finish_task_path(task.id), :method => :post %>    

哪个也没用。如何正确设置路线?

1 个答案:

答案 0 :(得分:3)

您已创建了一条路线,但未命名。这有用吗?

match '/tasks/:id/finish', :to => 'tasks#finish', :as => 'finish_task'

查看rake routes的输出,以确保根据需要声明路线。