尝试了一切,似乎找不到问题。
localhost:3000
No route matches {:action=>"new", :controller=>"comments"}
服务器错误
Rendered tasks/show.html.erb within layouts/application (134.7ms)
Completed 500 Internal Server Error in 187ms
ActionView::Template::Error (No route matches {:action=>"new", :controller=>"comments"}):
66:
67: <br />
68:
69: <%= link_to 'New Comment', new_task_comment_path %>
70:
71:
72:
app/views/tasks/show.html.erb:69:in `_app_views_tasks_show_html_erb___1205853643464254853_2489437560'
app/controllers/tasks_controller.rb:18:in `show'
Routes.rb
我的资源已嵌套
resources :tasks do
resources :comments
end
以及我$rake routes
$ rake routes
task_comments GET /tasks/:task_id/comments(.:format) {:action=>"index", :controller=>"comments"}
POST /tasks/:task_id/comments(.:format) {:action=>"create", :controller=>"comments"}
new_task_comment GET /tasks/:task_id/comments/new(.:format) {:action=>"new", :controller=>"comments"}
edit_task_comment GET /tasks/:task_id/comments/:id/edit(.:format) {:action=>"edit", :controller=>"comments"}
task_comment GET /tasks/:task_id/comments/:id(.:format) {:action=>"show", :controller=>"comments"}
PUT /tasks/:task_id/comments/:id(.:format) {:action=>"update", :controller=>"comments"}
DELETE /tasks/:task_id/comments/:id(.:format) {:action=>"destroy", :controller=>"comments"}
我可以在这里找到什么?
答案 0 :(得分:19)
你没有传递task_id
:
new_task_comment_path(@task.id)