2016-10-12 14 views
0

에 대한 열망 로딩 레일. 이제 모든 기사의 목록을 작성하고 싶습니다. 기사 템플리트는 특정 실 값 (예 : "bath")을 가지고 있습니다. 내가</p> <pre><code>class Article < ActiveRecord::Base has_one :template end </code></pre> <p>및</p> 템플릿 모델은 공간 속성을 가지고있다 <pre><code>class Template < ActiveRecord::Base has_many :articles end </code></pre> <p>이 one-to-many 연관

나는이 열망로드 (RESP : 포함)에 의해 이루어집니다 생각하지만 난
Article.includes(:template) 

를하려고하면 나는 오류 내가 잘못 뭐하는 거지

SELECT "templates".* FROM "templates" WHERE "templates"."article_id" IN ('51', '52', '53', '54') 
ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column templates.article_id does not exist 
LINE 1: SELECT "templates".* FROM "templates" WHERE "templates"."art... 

를 얻을?

# encoding: UTF-8 
# This file is auto-generated from the current state of the database. Instead 
# of editing this file, please use the migrations feature of Active Record to 
# incrementally modify your database, and then regenerate this schema definition. 
# 
# Note that this schema.rb definition is the authoritative source for your 
# database schema. If you need to create the application database on another 
# system, you should be using db:schema:load, not running all the migrations 
# from scratch. The latter is a flawed and unsustainable approach (the more migrations 
# you'll amass, the slower it'll run and the greater likelihood for issues). 
# 
# It's strongly recommended that you check this file into your version control system. 

ActiveRecord::Schema.define(version: 20160913122551) do 

    # These are extensions that must be enabled in order to support this database 
    enable_extension "plpgsql" 

    create_table "articles", force: :cascade do |t| 
    t.string "title" 
    t.text  "details" 
    t.integer "value_eur" 
    t.integer "deposit_eur" 
    t.integer "location_id" 
    t.integer "user_id" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    t.string "picture" 
    t.float "rate_eur" 
    t.string "rate_interval" 
    t.integer "template_id" 
    t.integer "quality" 
    end 

    add_index "articles", ["location_id"], name: "index_articles_on_location_id", using: :btree 
    add_index "articles", ["template_id"], name: "index_articles_on_template_id", using: :btree 
    add_index "articles", ["user_id"], name: "index_articles_on_user_id", using: :btree 

    create_table "locations", force: :cascade do |t| 
    t.string "street_and_no" 
    t.string "postcode" 
    t.string "city" 
    t.string "country" 
    t.integer "user_id" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    t.float "latitude" 
    t.float "longitude" 
    end 

    add_index "locations", ["user_id"], name: "index_locations_on_user_id", using: :btree 

    create_table "templates", force: :cascade do |t| 
    t.string "title" 
    t.text  "details_hint" 
    t.float "rate_eur" 
    t.string "rate_interval" 
    t.string "picture" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    t.string "room" 
    end 

    create_table "users", force: :cascade do |t| 
    t.string "email",     default: "", null: false 
    t.string "encrypted_password",  default: "", null: false 
    t.string "reset_password_token" 
    t.datetime "reset_password_sent_at" 
    t.datetime "remember_created_at" 
    t.integer "sign_in_count",   default: 0, null: false 
    t.datetime "current_sign_in_at" 
    t.datetime "last_sign_in_at" 
    t.inet  "current_sign_in_ip" 
    t.inet  "last_sign_in_ip" 
    t.datetime "created_at",       null: false 
    t.datetime "updated_at",       null: false 
    t.string "role" 
    t.string "nickname" 
    t.string "firstname" 
    t.string "lastname" 
    t.string "phoneno" 
    t.boolean "showemail" 
    t.boolean "showphone" 
    end 

    add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree 
    add_index "users", ["nickname"], name: "index_users_on_nickname", unique: true, using: :btree 
    add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree 

    add_foreign_key "articles", "locations" 
    add_foreign_key "articles", "templates" 
    add_foreign_key "articles", "users" 
    add_foreign_key "locations", "users" 
end 
+0

에 schema.rb 파일을 db 폴더에 게시 하시겠습니까? –

+0

@ rockwell-rice가 질문을 편집하여 schema.rb 파일을 거기에 넣습니다. – matlantis

+0

@RockwellRice 맞습니다. 나는 has_one과 belongs_to의 차이점에 대해 오해했습니다. has_one을 belongs_to로 변경하면 문제가 해결됩니다. 고마워요. – matlantis

답변

0

당신의 템플릿 표는 그래서 당신은 그 참조를 만들 필요가 게시 schema.rb에 따라 article_id를 열이없는 질문으로

편집

여기 내 schema.rb입니다.

변경

기사 모델
has_one :template 

에게 할 수있는, 두 가지를 일렬로 요구되는 데이터베이스에 articles_id 열이없는 것처럼 보이는 오류를 바탕으로

belongs_to :template 
관련 문제