问题描述
|
我对如何设置自定义操作的路线有些困惑。我认为以下链接为:
<%= link_to \'mark done\',finish_task_path(task.id),:method => :post %>
在我的task_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\',:method => :post %>
这也没有用。如何正确设置路线?
解决方法
您已经创建了一条路线,但未命名。这样行吗?
match \'/tasks/:id/finish\',:to => \'tasks#finish\',:as => \'finish_task\'
查看rake routes
的输出,以确保您的路由被声明为所需的。