¿No puede descifrar ActiveRecord::SubclassNotFound en Registros#editar?

Cuando está en "editar" o "mostrar" aparece esto:

ActiveRecord::SubclassNotFound en los registros#editar

"El mecanismo de herencia de tabla única no pudo ubicar la subclase: 'Plano'. Este error se genera porque la columna 'tipo' está reservada para almacenar la clase en caso de herencia. Cambie el nombre de esta columna si no tenía la intención de hacerlo. usarse para almacenar la clase de herencia o sobrescribir Present.inheritance_column para usar otra columna para esa información".

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

Aquí está el formulario de registro:

<%= 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 %>

Los campos_presentes:

<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>

preguntado el 12 de junio de 12 a las 17:06

1 Respuestas

Cambie el nombre o sobrescriba ya que los errores dicen sobrescribir a través de algo como

set_inheritance_column "not_sti"

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

Respondido el 12 de junio de 12 a las 17:06

¿Por qué obtengo "Mysql::Error: columna desconocida 'accounts.not_sti' en 'cláusula where': SELECT count (*) AS count_all FROM accounts DONDE ( (accounts.not_sti = '' ) )"? - peterpengz

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.