试图检查空关系表?
问题描述:
我还是对Ruby有点新,但基本上我想要做的是有一个名为“GA”的模型,另一个名为“课程”,我已经(希望)设置为has_and_belongs_to_many关系两个正确的,我试图使用下面的代码来运行每个GA,然后每个课程,并且如果该课程没有在其GA.GA列表中的GA,它会将当前的GA放入该课程中.ga清单:试图检查空关系表?
<% @gas.each do |ga| %>
<% @courses.each do |course| %>
<% if course.ga.any? %>
course.ga << ga
<% end %>
它不断抛出一个错误,这是GA一个未定义的方法。我也尝试过其他一些东西,比如'course.ga.exist?'等等。有任何想法吗?
答
has_and_belongs_to_many
通常与复数关联名称一起使用。我希望你的模型是这样的:
# course.rb
class Course < ActiveRecord::Base
has_and_belongs_to_many :gas
# ga.rb
class Ga < ActiveRecord::Base
has_and_belongs_to_many :courses
然后你的榜样也应该使用多元化的名字(读,如:一个GA进入气体名单):
course.gas << ga
+0
嗯,我想到的是,它确实帮助摆脱错误的我把它放在后,但现在看起来页面打印出来了:“course.gas gllwrnce
你是怎么建立关系?你能更新架构,活动记录吗? –
迁移看起来像这样: class CreateJoinTableCourseGa
gllwrnce