【发布时间】:2021-07-18 02:19:56
【问题描述】:
我有一个简单的 Rails 模型项目,其中包含许多任务。我正在尝试学习正确的浅层路线,但在大多数教程中,关于控制器任务的解释很少。我的问题是,除了 Destroy 部分,我什么都可以工作。
路线
resources :projects, shallow: true do
resources :tasks do
end
型号
class Project < ApplicationRecord
has_many :tasks, dependent: :destroy
end
class Project < ApplicationRecord
belongs_to :projects
end
然后我有通过脚手架生成的简单控制器。我在任务表中添加了对项目的引用。
我已按照 Digital Oceans 指南了解如何嵌套资源,但我无法找到涵盖控制器和视图的全面浅层教程。
所以我拥有所有其他功能,如显示、编辑、更新等。不知道我是如何让它们工作的,但通过更改词序并添加片段它可以工作......我好。但是现在我无法将其路由回 Tasks 索引(具有项目 ID)URL,在我点击销毁后,该 URL 将是 projects/id/tasks/。我在 TasksController#edit 中不断收到错误 ActiveRecord::RecordNotFound 并且 rails 将这部分突出显示为我的错误问题:
def set_task
@task = Task.find(params[:id])
end
我知道这是由脚手架默认生成的,我之前添加的唯一部分是之前的操作 get_project 和这个:
def get_project
@project = Project.find(params[:project_id])
end
任何想法都会很有帮助。
【问题讨论】:
标签: ruby-on-rails model-view-controller