ActiveRecord :: StatementInvalid模型问题

时间:2015-09-24 20:17:54

标签: ruby-on-rails-4 activerecord

我正在使用Rails 4,我正在编辑现有的应用程序。在活动管理员中查看模型时出现以下错误。

function handleAddSoftwareVersion(button){ $("#device_versions").append($('<option>', { value:1, text: 'MyOption' })); }

ActiveRecord::StatementInvalid in Admin::Events#show

我实际上没有或不需要那个专栏,所以我无法理解为什么要这样做。这是我的PG::UndefinedColumn: ERROR: column trainers.event_id does not exist LINE 1: SELECT "trainers".* FROM "trainers" WHERE "trainers"."even... ^ : SELECT "trainers".* FROM "trainers" WHERE "trainers"."event_id" = $1 LIMIT 1 模型。

Event

Iv完成class Event < ActiveRecord::Base has_one :trainer, inverse_of: :events belongs_to :training_request, inverse_of: :event delegate :module, to: :training_request end 并且它全部都是最新的。谁能明白为什么会这样呢?

1 个答案:

答案 0 :(得分:0)

使用rails,关联has_one和belongs_to需要“trainers”表中“events”表的id,因此它可以在你的trainers表中定义你指的是哪个事件,所以你需要添加event_id列到培训师表。

为此,您可以生成迁移

rails g migration add_event_id_to_trainer event_id:integer

然后运行

rake db:migrate