gpt4 book ai didi

ruby-on-rails - 相关引用值未显示在列表中

转载 作者:行者123 更新时间:2023-12-03 19:34:07 25 4
gpt4 key购买 nike

我一直在为这个问题苦苦挣扎太久,希望你们中的一个人能够看到我看不到的东西。它必须是一个简单的愚蠢错误,因为我在应用程序的任何地方都这样做,没有错误。

问题:我有一个 billing_type(引用)表,其中包含许多记录。我还有一个包含账单的账单表。当我在列表中显示计费表时, billing_type 显示为:

   "#<BillingType:0x00000006f49470>" 

我假设是它的指针。

billing_type 模型:
   class BillingType < ActiveRecord::Base
validates :billing_type, presence: true, uniqueness: true
has_many :billings
accepts_nested_attributes_for :billings
end

计费模式:
   class Billing < ActiveRecord::Base
belongs_to :billing_type
belongs_to :horse
validates :billing_type_id, presence: true
validates :horse_id, presence: true
end

架构:
   create_table "billing_types", force: :cascade do |t|
t.string "billing_type"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

add_index "billing_types", ["billing_type"], name: "index_billing_types_on_billing_type", unique: true

create_table "billings", force: :cascade do |t|
t.date "billing_date"
t.integer "billing_type_id"
t.integer "horse_id"
t.string "notes"
t.decimal "cost"
t.date "date_billed"
t.date "date_received"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

Controller 中的查询(注意:我导出了数据库并将其放入 SQL 中,它返回了所有内容,包括 billing_type,好的):
   def index
@billings = Billing.find_by_sql("SELECT billings.id, billings.billing_date, horses.horse_name, billings.billing_type_id, billing_types.billing_type, billings.notes, billings.cost, billings.date_billed, billings.date_received FROM billings JOIN horses ON billings.horse_id = horses.id JOIN billing_types ON billings.billing_type_id = billing_types.id ORDER BY billings.billing_date, LOWER(horses.horse_name)")
end

索引页面:
.
.
.
   <div class = "table-container">
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th>Billing date</th>
<th>Horse name</th>
<th>Billing type</th>

.
.
.
            </tr>
</thead>

<tbody>
<% @billings.each do |billing| %>
<tr>
<% if billing.billing_date %>
<td><%= billing.billing_date.strftime("%d/%m/%Y") %></td>
<% else %>
<td><%= billing.billing_date %></td>
<% end %>
<td><%= billing.horse_name %></td>
<td><%= billing.billing_type %></td>

.
.
.
               </tr>
<% end %>
</tbody>
</table>

提前感谢您提供的任何帮助!

最佳答案

这正是我希望看到的

billing.billing_type 将整个 BillingType 类表示为一个对象。

如果你想要那也许
billing.billing_type.inspect是您所期望的,但我怀疑您真正想要的是名称,在这种情况下,您应该寻找显示对象的属性而不是对象本身。 IE。
billing.billing_type.name

关于ruby-on-rails - 相关引用值未显示在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com