Rails:has_many和路由

Sup*_*ing 2 ruby-on-rails

我正在努力创建一个有很多奖项的学生

所以我在routes.rb中有这样的东西:

资源:学生,has_many => [:奖项]

如果我想看一个学生的奖项,我认为这应该是我的链接:

本地主机:3000 /学生/ 1 /奖项

但我得到的路线未找到错误.

我错过了什么?

set*_*rgo 8

您没有在路径文件中定义has_many,它在模型中定义:

#routes.rb
resources :students do
  resources :awards
end
Run Code Online (Sandbox Code Playgroud)

 

#student.rb
has_many :awards
Run Code Online (Sandbox Code Playgroud)

在创建嵌套路由时,您将形成一个块并将资源嵌套在内部,如上所述.您还可以定义其他路线:

#routes.rb
resources :students do
  resources :awards
  get 'foo' => 'controller#index' # maps to /students/foo
end
Run Code Online (Sandbox Code Playgroud)