如何在Rails上的ruby上运行服务器?

时间:2018-06-26 08:28:12

标签: ruby-on-rails ruby

我想在ruby on rails上链接到localserver:3000,但是当我使用bundle exec rails server时,它只是退出而不生成服务器。

➜  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 :(得分:0)

我建议您检查所有迁移的状态,也许还有另一个迁移待处理。使用此命令rake db:migrate:status查看所有迁移状态。

您还可以重置数据库并再次进行迁移。 rake db:reset(先运行db:drop,然后运行db:setup),然后运行迁移rake db:migrate

另外,请检查您的任何迁移是否引用了仍未创建的任何其他迁移!

P.S。请添加您遇到的完整错误,以便我更好地了解问题所在!

答案 1 :(得分:0)

在这一点上,我认为这应该是问题所在。

  1. 您克隆了Mac上构建的文件以在Windows上运行,反之亦然。

  2. 有些查询无法传递给数据库。在等待数据库类型之前,您正在与Rails应用程序一起使用。

  3. 检查您的数据库设置是否正确。

就是这样,尝试一下。 1.对于rails,请执行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

答案 2 :(得分:0)

您对db/migrations/20180619074210_create_users.rb文件有疑问。删除它,因为迁移已失败。您无需撤消它(rollback)。

此外,我强烈建议您使用命令行来创建迁移文件,直到您熟悉它们为止。如果有时间,请查看Active Record Migrations的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