プロジェクトがあり、プロジェクトには多くのタスクがある単純な todo アプリを作成しています。プロジェクト内のタスクを削除できるようにしたいです。しかし、delete メソッドに link_to しようとすると、未定義のメソッド 'task_path' が表示されます。
コードを見る
<ul>
<% @project.tasks.each do |task| %>
<li><%= task.name %></li> <%= link_to "delete", task, :method => :delete %></br>
<% end %>
</ul>
タスクコントローラー
def destroy
@project = Project.find(params[:project_id])
@task = @project.tasks.find(params[:id])
@task.destroy
redirect_to @project, :notice => "Task Deleted"
end
ルート.rb
resources :projects do
resources :tasks
end
更新:だから私は削除作業をしています。しかし、今、各タスクを反復していると、http://todoapp.dev/projects/9/tasksにルーティングされ、No route matches [DELETE] "/projects/9/tasks" を与える追加の削除リンクがあります。そこに余分な削除リンクがありますか?
<% @project.tasks.each do |task| %>
<%= task.name %> <%= link_to "delete", [@project, task], :method => :delete %>
<% end %>