Tag: heroku

Rails如何构建MySQL语句?

我有以下代码在一个控制器内的heroku上运行, 间歇性地失败。 它应该对我很有用,但我必须遗漏一些东西。 @artist = Artist.find(params[:artist_id]) 参数hash看起来像这样: {“utf8″=>” “, “authenticity_token”=>”XXXXXXXXXXXXXXX”, “password”=>”[FILTERED]”, “commit”=>”Download”, “action”=>”show”, “controller”=>”albums”, “artist_id”=>”62”, “id”=>”157”} 我得到的错误看起来像这样: ActiveRecord::StatementInvalid: Mysql::Error: : SELECT `artists`.* FROM `artists` WHERE `artists`.`id` = ? LIMIT 1 注意WHERE艺术家. id = ? 声明的一部分? 它试图找到问号的ID。 含义Rails没有传入params[:artist_id] ,这显然是在params哈希中。 我完全失去了。 我在尝试以类似方式选择记录的不同页面上得到相同的错误。 我的环境:Heroku上的Cedar Stack( 这只发生在Heroku上),Ruby 1.9.3,Rails 3.2.8,托管在Amazon S3上的文件(虽然我怀疑它很重要),使用mysql gem(不是mysql2 ,它没有’完全工作),ClearDB MySQL数据库。 这是完整的痕迹 。 任何帮助将非常感激。

Heroku非常缓慢地提供资产

我在我的Rails应用程序中提供资产时遇到了很大的麻烦。在我的VPS(由nginx,而不是Rails直接提供)上加载2KB图像需要42毫秒。 在Heroku上加载它有时可能需要1分钟以上。 奇怪的是,此时应用程序只是通过高压服务的一堆静态页面。 我的所有资产都是在本地预编译的。 我安装了rails_12factor和heroku_rails_deflate gems。 这是我的Sprockets配置: 配置/初始化/ assets.rb # Version of your assets, change this if you want to expire all your assets. Rails.application.config.assets.version = ‘1.0’ # Precompile additional assets. # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. Rails.application.config.assets.precompile += %w( pages/home.js ) 配置/环境/ production.rb # Disable Rails’s static asset […]

heroku db:推敲错了ruby

我正在使用OSX Mountain Lion并试图db:push。 $ ruby -v ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin12.0.0] $ bundle exec heroku db:push –confirm ancient-falls-9918 Loaded Taps v0.3.24 Auto-detected local database: mysql2://root@127.0.0.1/lottery_portal_development?encoding=utf8 Warning: Data in the app ‘ancient-falls-9918’ will be overwritten and will not be recoverable. /Users/psmy/.rvm/gems/ruby-1.9.2-p320@lpr31/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle: [BUG] Segmentation fault ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] Abort trap: 6 为什么要尝试使用1.8.7? $ […]

Heroku上的NoMethodError,但不是本地的

我正在为Rails中的期刊开发一个网站,并且在我的一个页面上列出了按降序发布的每个问题。 我还有一个选择框供用户按年度过滤问题,因为他们没有名字但希望如果问题中的文章没有上传到网站,它将帮助他们更快地找到他们正在寻找的内容分别。 为了创建filter框的选项,我做了以下函数来返回问题的所有唯一年份的列表(问题有一个日期字段,即问题的发布日期,以防出现之前的旧问题网站需要上传)。 Issue.select(“date”).order(‘date desc’).map{ |i| i.date.year }.uniq 此function在我自己的机器上运行良好但是当我在Heroku(一个免费帐户)上部署它时,它在我检查日志时给出以下错误消息。 2017-08-15T15:19:42.521061+00:00 app[web.1]: Started GET “/issues” for 83.136.45.169 at 2017-08-15 15:19:42 +0000 2017-08-15T15:19:42.522804+00:00 app[web.1]: Processing by IssuesController#index as HTML 2017-08-15T15:19:42.524822+00:00 app[web.1]: Issue Load (0.9ms) SELECT “issues”.”date” FROM “issues” ORDER BY date desc 2017-08-15T15:19:42.525378+00:00 app[web.1]: Completed 500 Internal Server Error in 2ms (ActiveRecord: 0.9ms) 2017-08-15T15:19:42.525925+00:00 app[web.1]: 2017-08-15T15:19:42.525926+00:00 app[web.1]: […]

Heroku运行rake db:迁移错误,“没有这样的文件加载 – bundler / setup”

我正在尝试做一个“heroku run rake db:migrate”,并收到此错误: es-MacBook-Pro:project e$ heroku run rake db:migrate Running rake db:migrate attached to terminal… up, run.1 (in /app) rake aborted! no such file to load — bundler/setup :29:in `require’ :29:in `require’ /app/config/boot.rb:6:in `’ :29:in `require’ :29:in `require’ /app/config/application.rb:1:in `’ :29:in `require’ :29:in `require’ /app/Rakefile:5:in `’ /usr/local/lib/ruby/1.9.1/rake.rb:2373:in `load’ /usr/local/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile’ /usr/local/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile’ […]

奇怪的Heroku浮点精度错误(轨道上的ruby)

最初我模型上的一个坐标字段是使用整数,但当我尝试部署到Heroku时,我被提醒(通过崩溃)我需要它成为一个浮点(因为我的坐标中有小数点)。 所以我在我的本地机器上生成了change_column迁移,将change_column转换为浮动代替。 一切都很顺利。 我尝试再次部署到heroku,首先使用heroku pg:reset然后使用heroku db:setup 。 在db:setup期间,我收到以下错误: PGError: ERROR: precision for type float must be less than 54 bits : CREATE TABLE “landmarks” (“id” serial primary key, “name” character varying(255), “xcoord” float(255), “ycoord” float(255), “created_at” timestamp, “updated_at” timestamp) 所以我生成了另一个change_column迁移,这次使用:precision选项(设置为:precision => 50 ,小于54)。 我再次完成整个部署过程,它给了我同样的错误。 难道我做错了什么? 我在Heroku之前部署了另一个应用程序,之前使用了float而没有任何修改…… 我在我的本地机器上使用SQLite,我认为Heroku使用Postgres? 提前致谢! [编辑:我还应该提一下输出SQL后错误显示我改变了:precision我的coords的:precision值仍然说’浮动(255)’…不知道为什么]

具有多个Web面向过程的Heroku Cedar应用程序

是否可以配置Procfile以支持多个Web端点(通过端口或子域)? 就像是: web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb admin: bundle exec unicorn -p $ALT_PORT -c ./config/admin/unicorn.rb

如何修复Authlogic Heroku无法注销生产中的问题?

我跟随Railscasts使用Authlogic,它在开发环境中本地完美,但是当我推送到Heroku时,我无法注销。 我读到使用Active Record会话可以工作,但我也读到它不建议大型流量站点。 我没有使用乘客。 任何意见将是有益的。

Heroku上的Ruby on Rails 4,带有反斜杠转义的环境变量

我有一个环境变量: MY_VALUE: “EFINbA\u003d\u003d\n” 当我通过ruby阅读它时,它返回为: ENV[‘MY_VALUE’] => “EFINbA\\u003d\\u003d\\n” …但仅限于Heroku,而不是Mac(通过local_env.yml文件设置,无可否认) 首先,我只是不明白为什么会这样做。 其次,当我尝试删除\并用\替换它们时,我发现没有任何效果。 虽然:ENV [‘MY_VALUE’]。gsub(“\”,“x”)=>“EFINbAxu003dxu003dxn” 这:ENV [‘MY_VALUE’]。gsub(“\”,“\”) …不起作用,因为最后一个双引号被转义,而: ENV[‘MY_VALUE’].gsub(“\\”,”\\”) …实际上什么都不做。 显然我在这里遗漏了一些基本的东西,而且我发现它的时间已经太晚了。 谢谢。

Rails和postgres – 在heroku上部署时忽略了pg gem

我在heroku上部署我的应用程序时遇到问题。 我已经将’pg’gem添加到Gemfile中,甚至尝试包含类似gem’therubyracer-heroku’的内容。 中 heroku rake db:migrate 我得到这样的东西: >heroku rake db:migrate –trace ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment rake aborted! Please install the postgresql adapter: `gem install activerecord-postgresql-adap ter` (pg is not part of the bundle. Add it to Gemfile.) /app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.1/lib/active_record/connectio n_adapters/abstract/connection_specification.rb:71:in `rescue in establish_conne ction’ 另一个有趣的部分是,在捆绑安装操作期间没有提到推送到heroku pg,就像它被忽略一样。 我也看过Gemfile.lock和pg在那里提到: pg (0.11.0-x86-mingw32) […]