首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Registries#edit中找不到ActiveRecord::SubclassNotFound?

在Registries#edit中找不到ActiveRecord::SubclassNotFound?
EN

Stack Overflow用户
提问于 2012-06-13 00:21:13
回答 1查看 2K关注 0票数 1

当处于"edit“或"show”状态时,会出现以下内容:

Registries#edit中的ActiveRecord::SubclassNotFound

“单表继承机制找不到子类:'Plane‘。引发此错误的原因是列'type’保留用于存储继承时的类。如果不希望此列用于存储继承类,请重命名该列,或者覆盖Present.inheritance_column以使用其他列存储该信息。”

代码语言:javascript
复制
25:   </div>
26:   
27:   <div class="field1">
28:   <%= f.fields_for :presents do |builder| %>
29:   <%= render 'present_fields', f: builder %>
30:   <% end %>
31:   </div>

以下是注册表:

代码语言:javascript
复制
<%= nested_form_for(@registry) do |f| %>
<% if @registry.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@registry.errors.count, "error") %> prohibited this registry from    
being saved:</h2>

  <ul>
  <% @registry.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
</div>
<% end %>


<%= f.label :due_date %><br />
<%= f.date_select :due_date, :rows => 5 %>


<%= f.label :theme %><br />
<%= f.text_field :theme, :class => 'field2' %>

<div class="field1">
<%= f.label :gender %><br />
<%= f.text_field :gender %>
</div>

<div class="field1">
<%= f.fields_for :presents do |builder| %>
<%= render 'present_fields', f: builder %>
<% end %>
</div>

<%= link_to_add_fields "Add Presents", f, :presents %>

<div class="actions">
<%= f.submit %>
</div>
<% end %>

presents_fields:

代码语言:javascript
复制
<div class="field1">
<table>
<tr> 
<td> <%= f.label :type, "Present Type" %> </td>
<td> <%= f.text_field :type, :class => 'field2' %> </td>
<td> <%= f.label :Quantity, "Quantity" %> </td>
<td> <%= f.number_field :quantity, :class => 'field3' %> </td>
<td> <%= f.label :color, "Color" %> </td>
<td> <%= f.text_field :color, :class => 'field2' %> </td>
<td> <%= f.label :brand, "Brand" %> </td>
<td> <%= f.text_field :brand, :class => 'field2' %> </td>
<td> <%= f.link_to_remove "Remove this present" %></td>
</tr>
</table>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-13 00:30:59

可以重命名,也可以覆盖,因为错误表示通过类似下面这样的方式覆盖

代码语言:javascript
复制
set_inheritance_column "not_sti"

来源:http://my.safaribooksonline.com/book/web-development/ruby/9780132480345/advanced-active-record/ch09lev1sec5

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11000703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档