我以前有一些这种形式的脚本:
class Thing
def do_things
...
end
end
if __FILE__ == $0
Thing.new.do_things
end
我用rails runner调用它们。他们在Heroku上的Rails 5.1运行得很好。当我升级到rails 5.2时,它们不再运行在Heroku上(在没有执行块的情况下静默地退出)。但是它们仍然在我的开发环境(Ubuntu)中执行。
我使用脚本的相对路径(例如rails runner scripts/thing.rb)运行它们。
Rails 5.2
赫鲁库
__FILE__:脚
我成功地将rails 5.2应用程序推送给Heroku,但在某个地方出现了错误。在此之后:
Heroku open
浏览器显示如下:
An error occurred in the application and your page could not be served.
在终端中,当我键入:
heroku ps
我明白了:
web (Free): bin/rails server -p $PORT -e $RAILS_ENV (1) web.1: crashed
我不知道该在哪里查找疑难解答。我对编程很陌生,对Heroku也很陌生。
如果有其他有用的信息,请告诉我。谢谢。
我一直在将一个Rails 5.2应用程序升级到Rails 6。我还没有安装Webpack,但我在Dokku (它有一个类似于Heroku的构建系统)上得到以下部署错误:
webpack binstubs not found.
Have you run rails webpacker:install ?
Make sure the bin directory or binstubs are not included in .gitignore
Exiting!
!
! Precompiling assets failed.
!
我有一个Rails 6应用程序部署到Heroku,运行良好。我刚刚开始在应用程序中添加一个API,这在本地也很好,所有的测试都在本地通过。
当我部署到Heroku时,应用程序对curl的响应是正确的。
然而,我的测试(通过Heroku运行)在TypeError: no implicit conversion of nil into String授权期间失败了。我已经确定了根本原因,这就是DEVISE_JWT_SECRET_KEY环境变量没有加载到我的测试中。
这个变量被定义为Heroku环境变量,当我使用curl测试实际的应用程序时,效果很好,就像我前面提到的。正在运行
heroku conf
我有一个为React项目服务的Ruby on Rails v5.2应用程序。两者都在不同的文件夹项目中,React项目与Rails项目不在同一个项目中。我的客户希望我使用Heroku将此项目部署到生产环境中。
我一直在寻找如何将我的Ruby on Rails和React项目部署到Heroku。不幸的是,我只能在同一个项目中找到如何使用Rails和React来实现这一点,这让我对如何将Rails和React部署到一个Heroku应用程序感到有点困惑。
因为我的Rails应用程序是一个项目,而我的React是另一个项目,所以我一直在考虑在Heroku中为每个项目创建一个应用程序。问题是,我不认为这
Rails 5.2 SendGrid Heroku应用程序
我在电子邮件中有一个链接来查看报告。这些链接在开发过程中完美地工作。
但是,当SendGrid在生产过程中发送电子邮件并单击电子邮件中的链接时,会在浏览器中得到以下错误:
Your connection is not private
Attackers might be trying to steal your information from myapp.heroku.com (for example, passwords, messages, or credit cards). Learn more
NET::ERR_CERT_C
我已经升级到了Rails5.2,并且正在实现ActiveStorage。ActiveStorage使用mutool进行PDF处理。我已经成功地使用自制软件在本地安装了mutool。
mutool is a bit confusing.
rails docs claim to require "mutool",
homebrew installs "mupdf-tools",
and heroku wants "mupdf".
我已经按照以下步骤在heroku上成功安装了apt和mupdf:
- add a new Aptfile to
我已经生成了简单的rails api应用程序,而且我对Rails.application.secrets.secret_key_base有问题--它是nil。我要在本地的机器上启动它。根据的说法,一切都应该很好。我有合适的app/config/credentials.yml.enc。当我尝试用rails credentials:edit编辑它时,它会正确地编辑。其实际内容是
# Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
secret_key_b
我正在尝试Ruby on Rails,但我在将我的第一个应用程序部署到Heroku时遇到了问题。它以前工作得很好,但Heroku抱怨SQLite3。我使用以下指令更改为Postgres:。
现在我可以成功地部署应用程序了,只是在启动它时它会立即崩溃,因为bin/rails不存在。我使用git:clone从Heroku获取了代码的副本,而bin目录是空的。原始的bin目录包含在本地运行应用程序所需的所有文件。
什么会导致bin目录上传为空,而所有其他文件则顺利上传?
我正在构建一个Rails 5.2应用程序,它有一个Postgres数组列,用于在Post模型上存储标记。我创造的迁移看起来是这样..。
class AddTagsToPosts < ActiveRecord::Migration[5.2]
def change
change_table :posts do |t|
t.string :tags, array: true, default: []
end
end
end
由于设置默认值是必需的(.我未能找到一种方法使PG数组列工作,而不将标记的默认值设置为空数组),那么在不使用JS的情况下从Rails新/
虽然遵循Rails 4 Beta版本的Michael的,但我的应用程序在Heroku上没有启动,但在本地bundle exec rails server运行良好。检查heroku logs -t会发现以下错误:
$ heroku[web.1]: State changed from crashed to starting
$ heroku[web.1]: Starting process with command `bin/rails server
-p 33847 -e $RAILS_ENV`
$ app[web.1]: bash: bin/rails: No such file or d
我正在由Rails 5.2.2数据库支持的Heroku上运行一个ruby 2.6.3和ClearDB应用程序。
注意:在本地,所有这些都工作得很好,
我的gem文件的mysql2版本是这样的:gem 'mysql2', '>= 0.4.4', '< 0.6.0'
当我试图运行迁移以创建一个具有details字段类型为json的新表时,它会失败,并出现语法错误。
Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds t