如何通过使用另一个表中的不同列的值来显示另一个表中的字段的值

帕里

我知道标题有点混乱,但是我的问题很简单。我在Rails 5应用程序中拥有两个模型。用户和费用。每个费用都属于一个用户。我有一个索引页面,其中列出了所有费用。我可以从费用表中列出每个费用的用户ID,但我想改为在用户表中查找用户名(在用户名列中),并与费用一起显示。我写的视图如下。但这是行不通的。

<p id="notice"><%= notice %></p>

<h1>Teamjournals</h1>

<table style="padding: 2px; width: 50%" border="2px" align="center">
  <thead>
      <tr>
        <td align="center"><%= link_to new_expense_path, :class =>"btn btn-success btn-wide" do%>Add New Expense<% end %></td>
      </tr>
    <tr>
      <th>User</th>
      <th>Expense Date</th>
      <th>Currency</th>
      <th>Expense Amount</th>
      <th>Description</th>
      <th colspan="1"></th>
    </tr>
  </thead>

  <tbody>
    <% @expenses.each do |expense| %>
      <tr>
        <td><%= User.joins(:expense).where('expense.user_id = ?', @user.id) %></td>
        <td><%= expense.expense_date %></td>
        <td><%= expense.currency.currency %></td>
        <td align="right"><%= expense.expense %></td>
        <td><%= expense.description %></td>
      </tr>
    <% end %>
  </tbody>
</table>
最大净化器

好的,所以在您的迭代中,@expenses您具有以下这一行:

<%= User.joins(:expense).where('expense.user_id = ?', @user.id) %>

您可以将其更改为:

<% user = expense.user %>

请注意,我使用的<%不是,<%=因为我只是试图分配一个变量,而不是将输出打印到html。

然后在定义之后user就可以说了<%= user.name %>

您应该阅读有关活动记录关联的更多信息,但这是有关所显示查询的一些补充说明

User.joins(:expense).where('expense.user_id = ?', @user.id)

在这种情况下,您应该使用生成的方法,belongs_to而不要编写查询。但是在确实要编写自定义查询的情况下,只应where在要获取数组时使用。在这种情况下,您正在寻找一条记录,因此可以使用find_by此外,您在此处执行的联接也是不必要的

 # any of these works
 user = User.where('id = ?', expense.user_id).first
 user = User.where(id: expense.user_id).first
 user = user.find_by(id: expense.user_id)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过从另一个表中查找值来更新列值

来自分类Dev

如何通过使用该值查找另一个表来更新SQL中的值?

来自分类Dev

SQLITE:如何根据另一个表中的不同列选择列值

来自分类Dev

在 MySQL 中如何使用基于另一个表的列值的名称连接表?

来自分类Dev

如何通过该表中的另一个相关值在表中找到一个值?

来自分类Dev

如何在SQL Server中使用另一个表上的值的条件来更新表中的值

来自分类Dev

通过输入另一个表的值来触发一个表

来自分类Dev

一个表的DROP列,根据另一个表中的值

来自分类Dev

添加另一个表时,如何更改表中列中的值?

来自分类Dev

如何根据另一个表的值删除一个表中的行

来自分类Dev

SQL通过id从另一个表中检索值并显示总数

来自分类Dev

SQL:如何从另一个表中的一个表中选择不同的值?

来自分类Dev

SQL:如何从另一个表中的一个表中选择不同的值?

来自分类Dev

如何根据另一个表的不同值从一个表中获取值?

来自分类Dev

如何使用一个按钮将值插入表并在另一个表中更新值?

来自分类Dev

如何基于对另一个表的选择在表的列中插入值

来自分类Dev

我们如何通过选择表中基于选择的表行来将不同的值传递给另一个活动

来自分类Dev

如何选择一个表中的值在另一个表中不为空的列

来自分类Dev

如何使用reactjs在另一个输入字段中显示输入字段值?

来自分类Dev

根据表名从表中获取数据作为另一个表的字段值

来自分类Dev

如何根据另一个表中是否有引用返回布尔字段值?

来自分类Dev

如何通过在pyspark中重复一个值“另一个列的大小”来创建数组列?

来自分类Dev

如何使用每周汇总的另一个表中的值创建临时表?

来自分类Dev

使用MySQL根据另一个表中的列数更新列中的值

来自分类Dev

根据不同表中的另一个列值更新表中的两个列值

来自分类Dev

根据另一个表中的值计算一个表中的不同值 power bi

来自分类Dev

如何通过使用另一个文件中的值来优化在一个文件中的搜索?

来自分类Dev

检查值是否在另一个表中

来自分类Dev

OrderBy与另一个表中的值

Related 相关文章

  1. 1

    通过从另一个表中查找值来更新列值

  2. 2

    如何通过使用该值查找另一个表来更新SQL中的值?

  3. 3

    SQLITE:如何根据另一个表中的不同列选择列值

  4. 4

    在 MySQL 中如何使用基于另一个表的列值的名称连接表?

  5. 5

    如何通过该表中的另一个相关值在表中找到一个值?

  6. 6

    如何在SQL Server中使用另一个表上的值的条件来更新表中的值

  7. 7

    通过输入另一个表的值来触发一个表

  8. 8

    一个表的DROP列,根据另一个表中的值

  9. 9

    添加另一个表时,如何更改表中列中的值?

  10. 10

    如何根据另一个表的值删除一个表中的行

  11. 11

    SQL通过id从另一个表中检索值并显示总数

  12. 12

    SQL:如何从另一个表中的一个表中选择不同的值?

  13. 13

    SQL:如何从另一个表中的一个表中选择不同的值?

  14. 14

    如何根据另一个表的不同值从一个表中获取值?

  15. 15

    如何使用一个按钮将值插入表并在另一个表中更新值?

  16. 16

    如何基于对另一个表的选择在表的列中插入值

  17. 17

    我们如何通过选择表中基于选择的表行来将不同的值传递给另一个活动

  18. 18

    如何选择一个表中的值在另一个表中不为空的列

  19. 19

    如何使用reactjs在另一个输入字段中显示输入字段值?

  20. 20

    根据表名从表中获取数据作为另一个表的字段值

  21. 21

    如何根据另一个表中是否有引用返回布尔字段值?

  22. 22

    如何通过在pyspark中重复一个值“另一个列的大小”来创建数组列?

  23. 23

    如何使用每周汇总的另一个表中的值创建临时表?

  24. 24

    使用MySQL根据另一个表中的列数更新列中的值

  25. 25

    根据不同表中的另一个列值更新表中的两个列值

  26. 26

    根据另一个表中的值计算一个表中的不同值 power bi

  27. 27

    如何通过使用另一个文件中的值来优化在一个文件中的搜索?

  28. 28

    检查值是否在另一个表中

  29. 29

    OrderBy与另一个表中的值

热门标签

归档