gpt4 book ai didi

ruby-on-rails - Rails 关系抛出错误 : SQLException: no such column

转载 作者:行者123 更新时间:2023-12-04 06:19:10 28 4
gpt4 key购买 nike

我有事件,其中有扬声器和 slider 。

类事件

  has_many :speakers, dependent: :destroy
accepts_nested_attributes_for :speakers, allow_destroy: true

has_many :sliders, dependent: :destroy

类(class)演讲者

 belongs_to :event

类 slider

 belongs_to :event

扬声器没有自己的 Controller (它们通过嵌套属性直接提交给模型), slider 有。

当我上传新 slider 时,尝试在事件 View 中输出它们时出现错误(扬声器显示得很好):

事件 View

<% @event.sliders.each do %>
<p>hello dolly</p>
<% end %>

错误

SQLite3::SQLException: no such column: sliders.event_id: SELECT "sliders".* FROM "sliders"  WHERE "sliders"."event_id" = ?

事件 Controller

  def show      
@event = Event.find(params[:id])
end

控制台:

>> e = Event.find_by(id:9)
=> #<Event id: 9, title: "...">

>> e.speakers
=> #<ActiveRecord::Associations::CollectionProxy [#<Speaker id: 59, name: "...", created_at: "2013-08-27 09:28:58", updated_at: "2013-08-27 09:28:58", event_id: 9>]>

>> e.sliders
!! #<ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: sliders.event_id: SELECT "sliders".* FROM "sliders" WHERE "sliders"."event_id" = ?>

我的迁移和架构都已到位,我想我的关系有问题?

感谢 Stackoverflow 人

最佳答案

是你的 slider 表有 event_id 列或任何外键...通过生成迁移添加它

rails 生成迁移 AddEventIdToSliders event_id:integer

rake db:migrate

谢谢

关于ruby-on-rails - Rails 关系抛出错误 : SQLException: no such column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18482252/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com