Это на Ruby 1.9.3 и Rails 3.2.19. Я не супер опыт с Rails. Сегодня я начал эту проблему ТОЛЬКО на нашем реальном сервере, все отлично работает на сервере разработки.Приложение Rails пытается обновить несуществующий столбец
Всякий раз, когда я пытаюсь дать публикацию модель нового теги, я получаю эту ошибку:
ActiveRecord::StatementInvalid (PG::UndefinedColumn: ERROR: column "taggings_count" does not exist
LINE 1: UPDATE "tags" SET "taggings_count" = OALESCE("taggings_count", 0) + 1 WHERE "tags"."id" = 47:
app/controllers/publications_controller.rb:162:in 'block in update'
app/controllers/publications_controller.rb:161:in 'update'
и линии 162 от контроллера:
def update
@publication = Publication.find(params[:id])
if params[:clear_virtual_performances]
@publication.virtual_performances.each {|vp| vp.destroy}
end
if media_id = params["selected_media"]
pub_ids = @publication.publication_media_ids
PublicationMedia.update(@publication.publication_media_ids, [{:selected => false}] * pub_ids.length)
PublicationMedia.update(media_id, :selected => true)
end
respond_to do |format|
if @publication.update_attributes(params[:publication]) // <-------------------
expire_fragments
flash[:notice] = 'Publication was successfully updated.'
format.html { redirect_to(:action => 'show') }
format.xml { head :ok }
else
load_extra_vars_for_edit_form
Category.in_slug(params[:default_category])
format.html { render :action => "edit" }
format.xml { render :xml => @publication.errors,
:status => :unprocessable_entity }
end
end
end
Однако колонка «taggings_count» не существует в тегах, и я не знаю, почему он хотел бы обновить его в первую очередь. На самом деле, таблица имеет на столбцы: идентификатор, имя, позиция, category_id и tag_group_id. Вот модель тега:
class Tag < ActiveRecord::Base
has_many :taggings
belongs_to :category
belongs_to :tag_group
attr_accessible :name, :position, :category_id, :tag_group_id
end
Если есть дополнительная информация, которую я должен дать, сообщите мне, пожалуйста, дайте мне знать; очень важно, чтобы мы зафиксировали это как можно скорее. Все, что мне нужно, это ошибка, которой не должно быть, даже если это означает создание фиктивного столбца или что-то в этом роде.
Пожалуйста, разместите соответствующий код 'form'. – Pavan