我正在编写一个小型 Ruby-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