Не можете определить ActiveRecord :: SubclassNotFound в реестрах # edit?

Когда в & quot; редактировать & quot; или "показать" это подходит:

ActiveRecord :: SubclassNotFound в реестрах # редактировать

«Механизму наследования одной таблицы не удалось найти подкласс:« плоскость ». Эта ошибка возникает из-за того, что столбец «тип» зарезервировано для хранения класса в случае наследования. Переименуйте этот столбец, если вы не собирались использовать его для хранения класса наследования или перезаписали Present.inheritance_column, чтобы использовать другой столбец для этой информации. & Quot;

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

Вот форма реестра:

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

Present_fields:

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

Ответы на вопрос(1)

Решение Вопроса

переписать через что-то вроде

set_inheritance_column "not_sti"

источник: http://my.safaribooksonline.com/book/web-development/ruby/9780132480345/advanced-active-record/ch09lev1sec5

 24 мая 2013 г., 01:44
Это работает в методе find, но не работает в методе count.
 24 мая 2013 г., 01:14
Почему я получаю & quot; Mysql :: Error: неизвестный столбец & quot; account.not_sti & apos; в 'где пункт': SELECT count (*) AS count_all FROMaccounts ГДЕ ( (accounts.not_sti = '' ' )) & quot ;?

Ваш ответ на вопрос