我试图通过使用include过滤掉数组中的一些对象?方法,但我一直遇到此错误undefined method 'include?' for #<Trip:0xa01b7b0>
。
我基本上有两个型号,eventdeal和trip。我创建了第三个关系模型eventdealtrip,它将两个模型联系在一起。
trip.rb
class Trip < ActiveRecord::Base
has_many :eventdealtrips, :dependent => :destroy
has_many :eventdeals, :through => :eventdealtrips
end
eventdeal.rb
class Eventdeal < ActiveRecord::Base
has_many :eventdealtrips
has_many :trips, :through => :eventdealtrips, :dependent => :destroy
end
eventdealtrip.rb
class Eventdealtrip < ActiveRecord::Base
belongs_to :eventdeal
belongs_to :trip
end
eventdealtrips / new.html.erb
<% if !@trips.blank? %>
<% @trips.each do |trip| %>
<% if !trip.include?(@eventdeal) %>
<!--Content-->
<% end %>
<% end %>
<% end %>
基本上,我只想显示不包含当前eventdeal(在控制器中定义)的行程。
有关为何我收到未定义方法错误的任何见解?
感谢。
答案 0 :(得分:3)
包括哪?方法通常用于数组,试试这个:
<% if !trip.eventdeals.include?(@eventdeal) %>
答案 1 :(得分:2)
你确定trip
是一个数组吗?你试过trip.inspect
吗?
我不确定你的@trips
到底是什么,但我想这是Trip
的数组。你也应该张贴。
trip.eventdealtrips.include? @eventdealtrip
// or
trip != @eventdealtrip