【发布时间】:2017-08-21 21:39:49
【问题描述】:
在我的 rails 应用程序中,我有 3 个表。场地、活动和乐队。 我已经建立了关系,但是当我创建一个引用 Venue 的新活动时,它会查找我的 show.erb 文件中不存在的另一个场地
这些是我的模型
class Venue < ApplicationRecord
has_many :events
has_many :bands, through: :events
end
class Event < ApplicationRecord
belongs_to :venue
belongs_to :band
end
class Band < ApplicationRecord
has_many :events
end
以及我的活动迁移
class CreateEvents < ActiveRecord::Migration[5.1]
def change
create_table :events do |t|
t.string :name
t.text :date
t.boolean :alcohol_served
t.string :image
t.belongs_to :venue, show:true
t.belongs_to :band, show:true
t.timestamps
end
end
end
在我的表演事件控制器中,我有
def show
@event = Event.find(params[:id])
venue_id = Event.select(:venue_id).find(params[:id])
@venue = Venue.find(params[:id])
end
在这种情况下,我可以看到我的活动展示页面,它指定了场地。我有 3 个场地、3 个活动和 3 个乐队。主要问题是当我创建第 4 个活动时,它会寻找第 4 个场地而不是我指定的场地。
【问题讨论】:
标签: ruby-on-rails sqlite