我有一个名为Update. 通常,我可以updatable用一个简单的方法渲染它的关联模型:
<%= render @update.updatable %>
不幸的是,如果我从命名空间控制器中调用此方法,那么 Rails 也会尝试命名视图路径,搜索admin/reviews/review而不是reviews/review. 这会导致如下错误:
Missing partial admin/reviews/review
通常我可以硬编码一个解决方法,例如:
<%= render :partial => "/reviews/review", :locals => {:review => @update.updatable}
如果关联不是多态的,这会很好,但既然是多态的,如果updatable不是 a ,我会得到错误Review。不幸的是,我有几十个可能updatable的 s,用一个case语句来分支它们会很麻烦。
有没有我没有想到的更简单的方法?