Rails: has_many и маршрутизация - PullRequest
2 голосов
/ 09 января 2011

Я пытаюсь создать студента, у которого много наград

Итак, у меня есть что-то подобное в маршрутах.rb:

ресурсы: студенты, has_many => [: награды]

И я думаю, что это должно сделать мою ссылку такой, если я хочу увидеть награды для студента:

LOCALHOST: 3000 / студентов / 1 / Награды

Но я получаю сообщение об ошибке "Маршрут не найден".

Чего мне не хватает?

Ответы [ 2 ]

8 голосов
/ 09 января 2011

Вы не определяете has_many в файле маршрутов, он определен в вашей модели:

#routes.rb
resources :students do
  resources :awards
end

#student.rb
has_many :awards

При создании вложенных маршрутов вы формируете блок и вкладываете ресурсы внутрь, как указано выше. Вы также можете определить дополнительные маршруты:

#routes.rb
resources :students do
  resources :awards
  get 'foo' => 'controller#index' # maps to /students/foo
end
1 голос
/ 09 января 2011
resources :students, :has_many => :awards

или даже лучше

resources :students do 
  resources :awards
end

также запуск граблей из терминала привел бы вас к нарушению маршрутов:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...