首页 > 解决方案 > 仅显示库 SQL Rails 中的后续软件

问题描述

我的第一个 Ruby on Rails 应用程序有点问题。

我有 3 个表(软件、用户和库),用户可以关注软件并在他的库中查看它的关注。但我只想在他的图书馆里看不到任何关注。

我看following没问题,但是当我只想看USER不关注的软件时,我做不到......

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

此代码向我显示了所有未遵循的软件,但我需要用户提供此信息。

而这个节目跟随软件

@library_softwares = current_user.library_additions

使用 index.html

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

你有想法吗 ?

对不起我的英语谢谢

编辑: 我想达到这个结果:

@library_softwares = current_user.library_additions

@software = Software.all

@result = @software - @library_softwares

标签: sqlruby-on-railsruby-on-rails-5

解决方案


我希望我已经理解你想要什么,将软件信息保存在一个变量中

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

如果您在用户和软件之间有关系,您只需通过 @softwares 数组即可获取用户信息

<% unless @softwares.nil? %>
  <% @softwares.each do |software| %>
    <% software.user %>
  <%end %>
<%end%>

推荐阅读