我已经重读了关联指南,但还是碰到了墙头。我已经看到了Stack Overflow的一些高级问题,我无法确定它是否揭示了我的问题。也许我一直没有想到这件事。请告诉我我没有看到什么。Rails 3.2基本关系has_many
我有一个School.rb has_many事件,has_many场地。每个活动和场地都属于学校。我正试图将场地与事件联系起来。他们与学校有关,因为他们有一个匹配的school_id。学校的名字很容易应用在Event#show和Venue#show中。诀窍是我如何制作Event控件以使用school_id在Event#show页面中拉取Venue的addy?
我的企图不断,所以我想到也许我必须让事件belongs_to场地和场地has_many事件。这是正确的做法吗?
我试图<%= @ event.venue.address%>,但失败与“未定义的方法'地址”的零:NilClass'
也许我也得太多,但正如我前面提到,我不不足以提出正确的问题。如果我用英语来表达我的疑问,那么应该是“抓住school_id匹配当前/活动事件的school_id的Venue实例。”那有意义吗?我试图找到一些接近,在轨指南和尝试这样的:
@venues = Venue.where(:school_id => @school_id)
未定义的方法'地址为[]的ActiveRecord ::关系。场地地址在场地模型中。
这里是我的school.rb:
class School < ActiveRecord::Base
has_many :events, :dependent => :destroy
has_many :venues, :dependent => :destroy
has_and_belongs_to_many :users
belongs_to :event belongs_to :venue
def self.fetch_for_name(_name)
school = self.new(:name => _name)
end
end
这里是我的event.rb:
class Event < ActiveRecord::Base
resourcify
belongs_to :school
belongs_to :venue
end
这里是我的Venue.rb:
class Venue < ActiveRecord::Base
resourcify
belongs_to :school
has_many :events
end
请帮我渡过这个宝贝step,sam
您可以发布您的实际活动记录关系吗?它会让所有的事情变得更容易 – DVG 2012-07-05 19:32:26
我编辑了我的答案,以更直接地回答你的问题 – DVG 2012-07-05 20:09:30