gpt4 book ai didi

ruby-on-rails - 在不复制部分的情况下渲染 STI 对象的干净方法?

转载 作者:行者123 更新时间:2023-12-04 06:36:24 25 4
gpt4 key购买 nike

这是 Rails 抛出的完整错误信息:

缺少带有 {:locale=>[:en]、:formats=>[:html]、:handlers=>[:erb、:builder、:coffee]} 的部分publisher_groups/publisher_group。搜索于: blah blah blah

在组织展示 View 中:

<%= render @organization.groups %>

在/views/groups/_group.html.erb 中:
<p><%= group.name %></p>
<p><%= group.type %></p>

这些关系同时存在于组模型和组织模型中。该错误引用了 PublisherGroup。 Group 模型具有三种类型的 STI,到目前为止,除了指定类型之外什么都不做。由于所有 @organization.group 对象都是 group 的子类,我如何才能使此渲染正常运行?

最佳答案

默认情况下,尝试渲染事件模型对象会尝试找到名为 table_name/class_name 的部分。

特别是对于 STI 层次结构,它将为每个类寻找不同的模板。这是由 to_partial_path 控制的返回部分路径的实例方法

如果您在组上覆盖该方法

def to_partial_path
'groups/group'
end

然后所有的子类将使用相同的部分。

关于ruby-on-rails - 在不复制部分的情况下渲染 STI 对象的干净方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11406383/

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