Показывать только следующие программы в библиотеке SQL Rails - PullRequest
0 голосов
/ 05 июня 2018

У меня небольшая проблема с моим первым приложением Ruby on Rails.

У меня есть 3 таблицы (Программное обеспечение, Пользователь и Библиотека), пользователь может следить за программным обеспечением и видеть его в своей библиотеке.Но я хочу видеть только не следует в его библиотеке.

У меня нет проблем, чтобы увидеть следующее, но когда я хочу увидеть только программное обеспечение, за которым не следует ПОЛЬЗОВАТЕЛЬ, я не могу это сделать ...

Software.left_outer_joins(:libraries).where(libraries: {software_id: nil})

Этот код показывает мне всепрограммное обеспечение, которое не следует, но мне нужна эта информация ПОЛЬЗОВАТЕЛЕМ.

И это шоу следует за программным обеспечением

@library_softwares = current_user.library_additions

С index.html

<% if @library_softwares.exists? %>
...
<%end>

У вас естьидея ?

Извините за мой английский Thx

РЕДАКТИРОВАТЬ: Я хотел бы достичь этого результата:

@library_softwares = current_user.library_additions

@software = Software.all

@result = @software - @library_softwares

1 Ответ

0 голосов
/ 05 июня 2018

Я надеюсь, что понял, что вы хотите, сохраняет информацию о программном обеспечении в переменной

@softwares = Software.left_outer_joins(:libraries).where(libraries: {software_id: nil})

, и если у вас есть отношения между пользователем и программным обеспечением, вы можете получить информацию о пользователе, просто пройдя черезмассив @ программ

<% unless @softwares.nil? %>
  <% @softwares.each do |software| %>
    <% software.user %>
  <%end %>
<%end%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...