0
/Users/0okyleo0/.gem/ruby/2.1.2/gems/activerecord-4.1.2/lib/active_record/connection_adapters/postgresql_adapter.rb:822:in `async_exec': PG::UndefinedTable: ERROR: relation "events" does not exist (ActiveRecord::StatementInvalid) 
LINE 5:    WHERE a.attrelid = '"events"'::regclass 
            ^

Является ли проблема каждый раз, когда я пытаюсь открыть мое меню терминала ruby ​​для своего теста. Я работаю в активных записях. Я получаю эту ошибку каждый раз, когда я пытаюсь использовать метод для добавления события в базу данных.psql undefined таблица, отношение не существует

def add_event 
    puts "What is your event's name?\n\n" 
    event_name = gets.chomp 
    puts "What is your event's location?\n\n" 
    event_location = gets.chomp 
    puts "What is your start date? example: 1990-11-16\n\n" 
    event_start_date = gets.chomp 
    puts "What is your end date? example: 1990-11-19\n\n" 
    event_end_date = gets.chomp 
    Event.create({name: event_name, location: event_location, 
     start_date: event_start_date, end_date: event_end_date}) 
    puts "#{name} has been added!" 
end 

это моя схема -

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

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

    create_table "event_tables", force: true do |t| 
    t.string "name" 
    t.string "location" 
    t.datetime "start_date" 
    t.datetime "end_date" 
    t.datetime "created_at" 
    t.datetime "updated_at" 
    end 
end 

ответ

0

Вы используете класс модели под названием Event:

Event.create({name: event_name, location: event_location, 
     start_date: event_start_date, end_date: event_end_date}) 

и хочет использовать таблицу с именем events, если вы не настроили это иначе. Но вы создали таблицу с именем event_tables:

create_table "event_tables", force: true do |t| 
    .. 
end 

Вы должны использовать таблицу с именем events или модель под названием EventTable.

+0

Хорошо, спасибо! я попробую сделать новую миграцию, чтобы переименовать таблицу. – Kyas

Смежные вопросы