2017-03-02 5 views
-1

Ich habe zwei Bedingungen:Wie zwei Bedingungen kombinieren

x = Equipment.last.try(:category_id) # => 1 
y = WantedEquipment.pluck(:category_id) # => [1, 1, 1, 1, 1] 
y.include? x # => true 

Equipment.last.try(:sub_category_id) # => 2 
b = WantedEquipment.pluck(:sub_category_id) # => [3, 3, 2, 2, 2] 
b.include? a # => true 

Ich versuche, sie beide anzuwenden. Ich habe versucht:

y.include? x && b.include? a 
do ... 

end 

Könnte mir jemand sagen, was der richtige Weg ist, dies zu tun?

+0

Sie tun es richtig. Aber stellen Sie sicher, dass Sie '()': 'y.include? (X) && b.include verwenden? (A)' –

+0

Sie meinen 'y.include? x && b.include? a 'ist richtig? @AndreyDeineko – user3576036

+0

Die Idee ist richtig, die Syntax sollte korrigiert werden. Sehen Sie mehr Details in @ ndns Antwort –

Antwort

7
y.include? x && b.include? a 

Wird der Dolmetscher verwirren, wann die && und die Methodenaufrufe zu tun. Platzieren Sie stattdessen einfach die Klammern selbst:

y.include?(x) && b.include?(a) 
+1

Ich habe die Klammern hinzugefügt und den Platz entfernt. Es funktioniert. – user3576036

+0

Das ist richtig anwser – Tsao