Как мне запустить сервер на ruby ​​на рельсах? - PullRequest
0 голосов
/ 26 июня 2018

Я хочу связать с локальным сервером: 3000 на ruby ​​на rails, но когда я использую сервер bundle exec rails, он просто выходит и не генерирует сервер.

➜  demo git:(master) ✗ bundle exec rails server
    => Booting Puma
    => Rails 5.2.0 application starting in development
    => Run `rails server -h` for more startup options
    Exiting  

Это мой route.rb, если это поможет!

Rails.application.routes.draw do
root "pages#home"
end

Я создал контроллер с именем pages и создал представление с именем home.Когда я впервые сгенерировал сервер, я уже закончил сеанс, поэтому мне интересно, как я могу сгенерировать сервер снова, чтобы я мог видеть свою «домашнюю» страницу.

Вот что происходит, когда я пытаюсь получить сервер.Может кто-нибудь объяснить мне, что может быть не так?Спасибо!

Редактировать: я создал свой контроллер, используя

bundle exec rails g controller pages

Затем я добавил home.html.erb в представления.

Мне удалось подключиться к серверуно это ошибка, которую я вижу на своей странице:

enter image description here

Я выполнил команду, но ничего не произошло.Я скопировал и вставил

bin/rails db:migrate RAILS_ENV=development

, и вот что я получил:

enter image description here

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

На данный момент, я думаю, что либо из этого должно быть проблемой.

  1. Вы клонировали файлы, созданные на Mac, для запуска в Windows или наоборот.

  2. Некоторые запросы нельзя передать в базу данных. В зависимости от типа базы данных, которую вы используете с приложением Rails.

  3. Проверьте, правильны ли настройки вашей базы данных.

Вот и все, попробуйте это. 1. Для рельсов 5+ делай rails db:rollback

  1. Bundle install (просто чтобы убедиться, что все работает хорошо)

  2. Выполнить bin/rails db:migrate RAILS_ENV=development. если это все еще не работает, просмотрите отчет об ошибках на вашем терминале, вы должны увидеть вещи, которые сопротивляются команде «migrate».

  3. запустить ваш сервер с rails s --port = PORT_NUMBER. (например, rails --port=4000)

0 голосов
/ 26 июня 2018

У вас проблема с файлом db/migrations/20180619074210_create_users.rb. Удалите его, поскольку миграция уже не удалась. Вам не нужно отменять это ( откат ).

Кроме того, я настоятельно рекомендую использовать командную строку для создания файла миграции, пока вы не ознакомитесь с ним. И если у вас есть время, ознакомьтесь с руководствами Rails для Активных миграций записей .

Пример:

1) Создайте таблицу user со столбцом name (string) и столбцом age (integer):

rails generate migration CreateUsers name:string age:integer

2) Это создаст похожий файл с другой отметкой времени. В моей машине я получил db/migrate/20180626151529_create_users.rb.

3) Если вы откроете этот файл, вы можете просмотреть изменения:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name
      t.integer :age
    end
  end
end

4) Если все выглядит хорошо, вам нужно запустить этот файл миграции. Это может быть достигнуто путем:

rake db:migrate
0 голосов
/ 26 июня 2018

Я рекомендую вам проверить состояние всех ваших миграций, возможно, есть еще одна миграция в ожидании.Используйте эту команду rake db:migrate:status, чтобы увидеть статус всех миграций.

Вы также можете сбросить свою базу данных и выполнить миграции заново.rake db:reset (который запускается db:drop, затем db:setup), затем запустите ваши миграции rake db:migrate.

Кроме того, проверьте, не ссылаются ли какие-либо из ваших миграций на другие миграции, которые еще не созданы!

PS Пожалуйста, добавьте полную ошибку, которую вы получаете, чтобы я мог лучше понять, в чем проблема!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...