Rail3 'Return False, если XYZ' запрос не работает - PullRequest
0 голосов
/ 16 февраля 2012

В моем приложении rails3.1 я пытаюсь применить следующую логику в одной из моделей моего заказа.

 def digital?
   line_items.map { |line_item| return false unless line_item.variant_id = '102586070' }
 end

Я создал отдельный вариант prepid_voucher, который имеет id = 102586070.Несмотря на это, результат ложный ...

В заказе много элементов line_items

LineItem принадлежит порядку и варианту

Вариант имеет много строк line_items

Это лучший способ выполнить такую ​​задачу и как я могу это исправить?

1 Ответ

1 голос
/ 16 февраля 2012

Прежде всего, я думаю, что вы хотите удвоить == здесь line_item.variant_id = '102586070', тогда я предпочитаю что-то подобное (если я понимаю, что вы хотите)

def digital?
  line_items.select{|line_item| line_item.variant_id == '102586070'}.any?
end

Но трудно понять, чего вы действительно хотите, каково ожидаемое поведение, если идентификатор не найден?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...