2016-06-22 6 views
1

私はこの問題を非常に長く苦労しており、あなたのうちの1人が私ができないものを見ることができることを願っています。私はエラーのないアプリケーションのどこでもこれを行うので、単純なばかげたエラーでなければなりません。関連参照値がリストに表示されない

問題:私は多くのレコードを含むbilling_type(参照)テーブルを持っています。私は請求書を含む請求テーブルも持っています。私が想定しています

"#<BillingType:0x00000006f49470>" 

はそのポインタである:私は、リスト内の課金テーブルを表示するときのように、billing_typeが表示されます。

billing_typeモデル:

class BillingType < ActiveRecord::Base 
     validates :billing_type, presence: true, uniqueness: true 
     has_many :billings 
     accepts_nested_attributes_for :billings 
    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 

ノート(コントローラーでの問合せ::私は、データベースをエクスポートして置くスキーマが

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

これはSQLで、billing_type、okを含むすべてを返しました):

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を見ることを期待するまさにだ

答えて

1

はオブジェクトとして全体BillingTypeクラスの表現です。

あなたがいることを望んでいたなら、多分

billing.billing_type.inspectは、あなたが期待しているが、私はあなたが本当にしたいことは、あなたがオブジェクトではないオブジェクト自体のプロパティを表示するために探している必要があり、その場合には名前があると思われるものです。すなわち

billing.billing_type.name

+0

Ahh!それを考えなかった。私は混乱を避けるために、billing_typeからbilling_type_nameのような名前に名前を変更するだけと思います。どうもありがとう。私はあなたが正しいと確信していますが、最初にそれをチェックしてから帰ってきて、あなたにチックを与えます。 – user3331154

+0

もう一度ありがとうございます。それはそれを修正しました。 – user3331154

関連する問題