konnte ich keinen Eintrag in der Datenbank erstellen Ich habe zwei Modelle - CallDetail und Agent. Die Agents-Tabelle verwendet den Fremdschlüssel aus der Tabelle Call_Details.Mit create function vom Controller
Das Schema wird unten eingefügt.
ActiveRecord::Schema.define(version: 20170824171227) do
create_table "agents", force: :cascade do |t|
t.integer "agent_id"
t.string "name"
t.integer "CallDetail_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["CallDetail_id"], name: "index_agents_on_CallDetail_id"
end
create_table "call_details", force: :cascade do |t|
t.integer "call_id"
t.string "word"
t.float "start_time"
t.float "end_time"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
In dem obigen Datenbankschema erstellt Attribute CallDetail ID und Mittel zusätzlich zu den Attributen Schienen standardmäßig angezeigt ID.
Meine Agenten Controller erstellen sieht Funktion wie die folgende
def create
@agent = Agent.new(agent_params)
respond_to do |format|
if @agent.save
format.html { redirect_to @agent, notice: 'Agent was successfully created.' }
format.json { render :show, status: :created, location: @agent }
else
format.html { render :new }
format.json { render json: @agent.errors, status: :unprocessable_entity }
end
end
end
Meine Modelle unter
class CallDetail < ApplicationRecord
end
class Agent < ApplicationRecord
belongs_to :CallDetail
end
gegeben sind, wenn ich öffnen localhost: 3000/Agenten und versuchen, einen neuen Eintrag in der Datenbank zu erstellen Der folgende Fehler wird angezeigt.
SQLite3 :: SQLException: keine solche Tabelle: main.CallDetails: INSERT INTO "agents" ("agent_id", "name", "CallDetail_id", "created_at", "updated_at") VALUES (?,?,?) ,?,?)
ich bin neu auf Schienen. Was mache ich hier falsch? Bitte helfen Sie.
Ist Ihre App mit der Datenbank verbunden und haben Sie diese Tabellen? überprüfen Sie es von "Rails-Konsole", geben Sie dann "ActiveRecord :: Base.connection.tables" – sa77
ja es scheint verbunden zu sein, die Ausgabe in der Konsole liest => ["schema_migrations", "ar_internal_metadata", "call_details", " agents "] @ sa77 – AndEnthu
Wie hast du die Assoziation zwischen Agenten und Call_details erstellt? – hashrocket