0
我试图在待办事项列表上实现一个简单的“标记为完成”功能,但基于我的应用程序设置有困难。我开始一个将任务嵌套在列表中的教程,我稍微有点不同,但无法弄清楚正确的路线。标记任务完成
我没有嵌套,但简单的关联,即用户有许多任务和任务属于用户。我在我的任务表中有一个完整的(布尔)列
在我的任务控制器
def complete
@task = current_user.tasks.find(params[:id])
@task.completed = true
@task.save
redirect_to tasks_path
end
路线的完整操作文件
match '/tasks/complete' => 'tasks#complete'
索引视图
<% current_user.tasks.each do |task| %>
<%= task.description %> | <%= link_to "Complete", complete_task_path(task) %>
<% end %>
任何想法?
再次感谢克里斯目前得到这个错误 找不到任务与id =完成[WHERE“任务”。“user_id”= 1] – Joshua
哦,是的,这将是一个问题。我想你实际上想在你的routes.rb里有这样的东西: match'/ tasks/complete /:id'=>'tasks#complete',as:'complete_task',via::put 你可能需要将该行移动到资源之前:如果您的路由文件中包含该行,请执行此操作...... –
像魅力一样工作,欢呼克里斯。 – Joshua