Фильтр Выбрать по id в Ruby on Rails - PullRequest
0 голосов
/ 03 октября 2018

У меня есть таблица с зарегистрированными антеннами, и я хочу связать их с контролем доступа, каждая антенна может иметь только контроль доступа, но у контроля доступа может быть много антенн, я хочу отфильтровать выборку только с антеннами, которыене установлен в контроль доступа, но я не знаю, как это сделать.Это то, что я до сих пор:

module Admin::AntennaReaderRfidsHelper
  def antennas_for_select

    antenas_rfid = AntennaReaderRfid.all
    antenas_installed = AntennaInstalled.all

    antenas_rfid.map do | antena |
      antenas_installed.map do | instalada |

        if antena.id != instalada.antenna_reader_rfid_id
          puts antena.id
        else
          puts antena.id
        end

      end
    end
  end
end

<%= f.select(:antenna_reader_rfid_id, antennas_for_select, { include_blank: '' }, { class: 'form-control' }) %>

1 Ответ

0 голосов
/ 03 октября 2018

Предполагается, что name - это имя столбца в AntennaReaderRfid

В контроллере # действие

@options_antennas_for_select =  AntennaReaderRfid.where
                                                .not("id IN (?)", AntennaInstalled.pluck(:antenna_reader_rfid_id))
                                                .pluck(:name, :id)

В поле зрения

<%= f.select(:antenna_reader_rfid_id, @options_antennas_for_select,  {prompt: "Select"}, {class: 'form-control', required: true}) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...