Действие контроллера не хранит значение в @, как должно - PullRequest
0 голосов
/ 24 декабря 2011

У меня есть следующие отношения:

hero.rb -> has_many :builds
build.rb -> belongs_to :hero

rout.rb

resources :heros, :path => '/heroes' do
  resources :builds
end

В действии index следующий код отлично работает, чтобы выяснить, какой герой находится в URL(http://localhost:3000/heroes/tiny/builds), который отображает все сборки этого конкретного героя.

@hero = Hero.find(params[:hero_id]) 

Почему тот же код не работает в действии show с URL http://localhost:3000/heroes/tiny/builds/the-best-build-ever? Кажется, ни один из следующего кода не хранит переменные, как они должны:

@hero = Hero.find(params[:hero_id]) 
@build = Build.find(params[:id])


Вот параметры из файла журнала разработки: https://gist.github.com/1518721


Github Repo: https://github.com/imjp/DotA-Items
Я боролся с этим пару часов и просто не могу понять: /

1 Ответ

3 голосов
/ 25 декабря 2011

Посмотрел репозиторий github, и вы дважды определили метод show в контроллере сборки.Это означает, что ни одна из переменных не будет загружена, поскольку второй экземпляр метода просто пуст.

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