我想在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。
我设法连接到服务器,但这是我在页面上看到的错误:
我运行了命令,但没有任何反应。我复制并粘贴
bin/rails db:migrate RAILS_ENV=development
这就是我得到的:
答案 0 :(得分:0)
我建议您检查所有迁移的状态,也许还有另一个迁移待处理。使用此命令rake db:migrate:status
查看所有迁移状态。
您还可以重置数据库并再次进行迁移。
rake db:reset
(先运行db:drop
,然后运行db:setup
),然后运行迁移rake db:migrate
。
另外,请检查您的任何迁移是否引用了仍未创建的任何其他迁移!
P.S。请添加您遇到的完整错误,以便我更好地了解问题所在!
答案 1 :(得分:0)
在这一点上,我认为这应该是问题所在。
您克隆了Mac上构建的文件以在Windows上运行,反之亦然。
有些查询无法传递给数据库。在等待数据库类型之前,您正在与Rails应用程序一起使用。
检查您的数据库设置是否正确。
就是这样,尝试一下。
1.对于rails,请执行5次以上的rails db:rollback
Bundle install
(只是为了查看一切是否正常)
运行bin/rails db:migrate RAILS_ENV=development
。如果仍然不起作用,请查看终端上的错误报告,您应该能够看到抵制“ migrate”命令的内容。
使用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