gpt4 book ai didi

ruby-on-rails - rails : Rendering a Namespaced Polymorphic Partial

转载 作者:行者123 更新时间:2023-12-04 16:52:48 24 4
gpt4 key购买 nike

我有一个名为 Update 的多态模型.通常,我可以渲染其关联的 updatable模型简单:

<%= render @update.updatable %>

不幸的是,如果我从命名空间 Controller 中调用此方法,那么 Rails 也会尝试命名 View 路径,搜索 admin/reviews/review而不是 reviews/review .这会导致如下错误:
Missing partial admin/reviews/review

通常我可以硬编码一个解决方法,例如:
<%= render :partial => "/reviews/review", :locals => {:review => @update.updatable}

如果关联不是多态的,这会很好,但既然是多态的,如果 updatable 我会得到错误不是 Review .不幸的是,我有几十种可能的 updatable s,并通过 case 分支通过它们语句维护起来会很麻烦。

有没有我没有想到的更简单的方法?

最佳答案

您可以定义模型的部分路径。它是这样的:

class Review
def to_partial_path
"/reviews/review"
end
end

关于ruby-on-rails - rails : Rendering a Namespaced Polymorphic Partial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16221260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com