Ich habe ein Benutzer und Anzeigen Tabelle, deren Schema ist unten:Mein RSpec Test NoMethodError für einen meiner Active Verbände hält Rückkehr
create_table "users", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "name"
end
create_table "listings", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "name"
t.string "address"
t.string "listing_type"
t.string "title"
t.string "description"
t.integer "price"
t.integer "neighborhood_id"
t.integer "host_id"
t.string "host"
end
Und meine Modelle für die Kotierung und Benutzer sind unten:
class Listing < ActiveRecord::Base
belongs_to :neighborhood
belongs_to :hosts, :class_name => "User"
end
class User < ActiveRecord::Base
has_many :listings, :foreign_key => 'host_id'
end
Aber wenn ich meine RSpec Tests laufen lasse, empfange ich das folgende NoM ethodError:
1) Listing belongs to a host
Failure/Error: expect(listing.host.name).to eq("Amanda")
NoMethodError:
undefined method `name' for "#<User:0x007fc885001838>":String
Jede Hilfe wird sehr geschätzt.
Danke! Das war's! –