我不知道为什么我的Heroku应用程序崩溃了。这是我第一次部署到Heroku,我按照我的训练营的步骤部署。之后,我部署了我的我尝试运行heroku run rails c, heroku run rails console, heroku run rails test, heroku open, heroku run rails db:migrate, heroku restart
,我已经尝试了我可以的每一个命令,无论是在我的本地计算机和heroku(我认为这并不重要,但只是更多的信息)heroku run rails
。然而,有趣的命令是heroku run rails c
,因为它会告诉我/app/app/controllers/static_controller.rb:4:in `<class:StaticController>': undefined method `layout' for StaticController:Class (NoMethodError)
。我觉得这很有趣因为在我的笔记和视频中,我100%地复制了Static_Controller。我一直寻找的信息为什么会是布局定义,然而我短暂的几小时后出现。我一直在转着圈跑的。如果有人知道为什么我的布局是未定义的。我有一些建议。这就是我的Static_controller的样子
class StaticController < Rails::ApplicationController
layout false
def index
render file: Rails.root.join('public', 'index.html')
end
end
注:我已经添加了一个档案& &;NPM init -y(更新的脚本)
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
...
"scripts": {
"build": "cd client && npm install --only=dev && npm install && npm run build && cd ..",
"deploy": "cp -a client/build/. public/",
"heroku-postbuild": "npm run build && npm run deploy && echo 'Client Built'"
},
...
我很快就会回复。
你的basecamp的例子看起来很时髦,很难告诉什么自由式是发生在那里。似乎没有Rails::ApplicationController
这样的东西(至少在Rails 6中,我手头有):
我使用pry
检查它
>> ls Rails
constants:
Application Command ConsoleMethods Info MailersController Railtie VERSION
Autoloaders Configuration Engine InfoController Paths Secrets WelcomeController
BacktraceCleaner Console Html Initializable Rack SourceAnnotationExtractor
并试图重现:
>> class Foo < Rails::ApplicationController
| layout false
| end
NameError: uninitialized constant Rails::ApplicationController
给出了一个完全不同的错误。
让你的控制器继承自"correct"控制器类:
>> class Foo < ActionController::Base
| layout false
| end
=> Foo
,给它一个去。
,但高于一切,你似乎直接部署heroku的东西——这将是一个痛苦的经历。我建议首先关注确保它在本地运行rails sever
命令。(你的训练营课程/材料应该从这一点开始,否则,我会认为这个训练营很可疑…如——不是由有合理经验的人来教别人)