1

インクルードを使用して配列内のいくつかのオブジェクトを除外しようとしていますか?メソッドが、私はこのエラーに遭遇し続けますundefined method 'include?' for #<Trip:0xa01b7b0>

私は基本的にeventdealとtripの2つのモデルを持っています。2つのモデルを結び付ける3番目の関係モデル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 %>

基本的に、現在のイベントディール(コントローラーで定義されている)を含まないトリップのみを表示したいと思います。

未定義のメソッドエラーが発生する理由についての洞察はありますか?

ありがとう。

4

2 に答える 2

3

インクルード?メソッドは通常配列用です。これを試してください。

<% if !trip.eventdeals.include?(@eventdeal) %>
于 2012-05-02T22:57:21.797 に答える
2

アレイtripですか?試しましたtrip.inspectか?

あなたが正確に何であるかはわかりませんが、それはsの@trips配列だと思います。Tripあなたもそれを投稿する必要があります。

trip.eventdealtrips.include? @eventdealtrip
// or
trip != @eventdealtrip
于 2012-05-02T22:57:43.640 に答える