0

我正在编写一个小型 Rub​​y-on-Rails 项目。我有 2 个模型:用户和任务

1 个任务属于两个用户(作者和目标用户),所以我在模型中做了:

    belongs_to :target, :class_name => 'User'
    belongs_to :author, :class_name => 'User'

当然,用户模型有

    has_many :posts

所以,我希望能够通过 url/users/:username/tasks CRUD 用户的任务,而不是仅仅通过 /tasks 来完成

所以我从 routes.rb 中删除了资源 :tasks 并添加了嵌套资源

    resources :users do
      resources :tasks
    end

我什至更新了视图(即 edit_task_path(task) 到 edit_user_task_path(task) )和 _form.html.erb 但我有一个错误:

Showing C:/Sites/todoit/app/views/tasks/index.html.erb where line #24 raised:
undefined method `task_path' for #<#<Class:0x458ce08>:0x458ad20>

我该怎么办?


帖子 index.html.erb: http: //pastebin.com/DdGurSfe

4

1 回答 1

1
<td><%= link_to 'Show', user_task_path(task) %></td>
# or
<td><%= link_to 'Show', [:user, task] %></td>

无论如何运行rake routes以检查可用路线(除非您能够做到这一点)。干杯!

于 2013-11-11T10:29:38.900 回答