1
我正在使用Rails单表继承与超类内容和一些子类(如文章,评论等)我试图摆脱一个单一的控制器,我已经设置了路线正是如此:控制器/视图中的模型继承和模型特定的代码
resources :contents
resources :articles, :controller => "contents"
resources :comments, :controller => "contents"
这样,/articles/new
被路由到contents#new
这似乎是我想要的。
但是,在控制器和视图中,我需要根据我正在处理的实际模型来调整功能。为此,我需要确定原始请求的资源或者找出我正在处理的哪个子类。
看看params
对于/articles/new
内的公共控制器给出{"action"=>"new", "controller"=>"contents"}
,这显然不提供我需要的信息。
要么答案是显而易见的,要么我使用模型继承错误。哪一个? :)
非常感谢。进一步的调查表明,我也可以做 'resources:comments,:controller =>“contents”,:type =>“Comment”' 然后参考'params [:type]'。但是你的解决方案也符合这个法案,并且教会了我'classify'和'constantize'。谢谢! – Sami