清晰的方式来渲染STI对象而不重复部分?

Wil*_*son 3 ruby-on-rails ruby-on-rails-3

这是完整的错误导轨让我:

缺少部分publisher_groups/publisher_group,其中包含{:locale => [:en],:formats => [:html],:handlers => [:erb,:builder,:coffee]}.搜索:blah blah blah

在组织展示视图中:

<%= render @organization.groups %>
Run Code Online (Sandbox Code Playgroud)

在/views/groups/_group.html.erb中:

<p><%= group.name %></p>
<p><%= group.type %></p>
Run Code Online (Sandbox Code Playgroud)

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

Fre*_*ung 13

默认情况下,尝试渲染活动模型对象会尝试查找被调用的部分 table_name/class_name

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

如果您在组上覆盖该方法

def to_partial_path
  'groups/group'
end 
Run Code Online (Sandbox Code Playgroud)

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


归档时间:

查看次数:

1385 次

最近记录:

13 年,2 月 前