nul*_*ull 1 namespaces ruby-on-rails view polymorphic-associations
我有一个叫做多态的模型Update.通常,我可以updatable使用简单的方法呈现其关联模型:
<%= render @update.updatable %>
Run Code Online (Sandbox Code Playgroud)
不幸的是,如果我从命名空间控制器中调用此方法,那么Rails也会尝试命名视图路径,admin/reviews/review而不是搜索reviews/review.这导致如下错误:
Missing partial admin/reviews/review
Run Code Online (Sandbox Code Playgroud)
通常我可以硬编码变通方法,例如:
<%= render :partial => "/reviews/review", :locals => {:review => @update.updatable}
Run Code Online (Sandbox Code Playgroud)
如果关联不是多态的,那就没关系,但既然如此,如果updatable不是a ,我会得到错误Review.不幸的是,我有几十个可能的updatables,并通过case声明进行分支将很难维护.
我有没有想到更简单的方法?
您可以从模型中定义部分路径.它是这样的:
class Review
def to_partial_path
"/reviews/review"
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
715 次 |
| 最近记录: |