我对如何设置自定义操作的路径感到有些困惑。我认为我有以下链接:
<%= 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 %>
哪个也没用。如何正确设置路线?
答案 0 :(得分:3)
您已创建了一条路线,但未命名。这有用吗?
match '/tasks/:id/finish', :to => 'tasks#finish', :as => 'finish_task'
查看rake routes
的输出,以确保根据需要声明路线。