我有以下关系:
hero.rb -> has_many :builds
build.rb -> belongs_to :hero
的routes.rb
resources :heros, :path => '/heroes' do
resources :builds
end
在index
操作中,以下代码可以完美地找出网址中的英雄( http:// localhost:3000 / heroes / tiny / builds )特定英雄的构建。
@hero = Hero.find(params[:hero_id])
为什么相同的代码在show
操作中没有工作,其中包含网址 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
我一直在努力解决这个问题几个小时,我似乎无法弄明白:/
答案 0 :(得分:3)
查看你的github repo,你已经在你的构建控制器中定义了show方法两次。这意味着不会加载任何变量,因为该方法的第二个实例只是空白。