不需要特殊的方法来获取您需要的信息,路线的魔力就可以了。
在你的 routes.db 文件中,你应该能够定义这样的东西,
map.resources :class, :has_many => :students
然后,如果您运行“rake routes”,您应该会看到类似于此的路线
class_students GET /classes/:class_id/students(.:format) {:controller=>"students", :action=>"index"}
您可以像这样在视图中调用该路径
class_students_path(class_id)
然后在您的控制器中,您将可以访问 params[:class_id]
路线的名称不是很漂亮,但这应该可以。
编辑 - - - - - - - - - - - - - - - - - - -
根据您的评论,由于某种原因,您不能使用 map.resources ......
map.class_students '/:class_id/students', :controller => 'students', :action => 'index'
这将在您的视图中产生相同的可用路线,在您的控制器中产生相同的参数。
话虽如此,我不知道服务器错误如何禁止您使用 map.resources