加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-4 – 为什么better_errors不能在cloud 9 ide上运

发布时间:2020-12-17 03:56:23 所属栏目:百科 来源:网络整理
导读:我正在研究cloud9 IDE上的一些项目,而且我无法让错误的gem更好地正常工作,这真是令人沮丧.它不应该需要初始化;它应该只是开箱即用.但是,我仍然只得到通常丑陋的红色错误页面.我应该指定它包含在我的gemfile中,并且我已经安装了bundle. 如何才能让错误更好才
我正在研究cloud9 IDE上的一些项目,而且我无法让错误的gem更好地正常工作,这真是令人沮丧.它不应该需要初始化;它应该只是开箱即用.但是,我仍然只得到通常丑陋的红色错误页面.我应该指定它包含在我的gemfile中,并且我已经安装了bundle.

如何才能让错误更好才能正常工作?我缺少一个安装步骤吗?

解决方法

我使用的技巧是让Cloud9中的’better_errors’gem工作,将TRUSTED_IP的值设置为我的浏览器会话附加到的计算机的公共IP地址. (据我所知,它与远程服务器或Cloud9服务器地址的IP地址无关.)

我将概述用于在我的Cloud9工作区上工作的’better_errors’的过程,从我的住宅网络上的Chromebook开始……也许它也适用于您和其他人!

>将gem“better_errors”添加到项目Gemfile中的开发组.
>将gem“binding_of_caller”添加到项目Gemfile中.
>在项目Cloud9终端中运行$bundle.
>编辑项目config / environments / development.rb文件,并将以下代码行添加到Rails.application.configure块的末尾.

BetterErrors::Middleware.allow_ip! ENV['TRUSTED_IP'] if ENV['TRUSTED_IP']

>点击“运行”>在Cloud9中创建一个新的“跑步者” “Run With”> “新跑者”.
> Cloud9在新选项卡中创建基本的跑步者文件以进行修改.用以下代码替换此文件的内容.

{
   "cmd": [
     "bash","--login","-c","TRUSTED_IP=XXX.XXX.XXX.XXX rails server -p $port -b $ip $args"
  ],"working_dir": "$project_path","info": "Your code is running at 33[01;34m$url33[00m.n33[01;31m","selector": "source.ru"
}

>将上面代码中的XXX.XXX.XXX.XXX替换为本地计算机的公共IP地址. (我使用http://ifconfig.me/查找分配给我的Chromebook的公共IP.)
>将名为RoR.run的runner文件保存到项目的/.c9/runners路径中.
>使用此新运行器启动项目服务器.点击运行>运行>回报率.
>使用Cloud9在跑步者启动服务器后显示的弹出链接来查看应用程序.享受’better_errors’!

注意:我仍然没有想出如何自动化将本地计算机的外部IP地址提供给Cloud9工作区中的RoR.run文件的过程.我只是每次移动到新网络或外部IP地址更改时手动更新它.

警告:我实际上刚开始学习RoR,所以我不知道这是否是让这个gem在云开发服务器/服务环境中工作的“正确”方法.我也不知道这会有多安全.我怀疑我的解决方案将“better_errors”浏览器内REPL暴露给解析为同一外部IP地址的所有计算机.如果您正在处理敏感的代码库/数据库,请不要实现我的解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读