小编Seb*_*ian的帖子

无法在OSX上运行带有RVM的Ruby 2.2.3

我有两部MacBooks(一部关于小牛队,另一部关于优胜美地),同样的事情发生在两者上.使用RVM安装Ruby 2.2.3后,出现以下错误:

.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Faraday::SSLError)
Run Code Online (Sandbox Code Playgroud)

我曾尝试在线搜索解决方案,但似乎没有任何效果.大多数有此问题的人都在运行Windows机器.

$ rvm osx-ssl-certs status all
Certificates for /usr/local/etc/openssl/cert.pem: Up to date.
Certificates for /etc/openssl/cert.pem: Up to date.
Run Code Online (Sandbox Code Playgroud)

切换回2.2.2工作正常.有什么想法吗?

ruby macos openssl rvm

10
推荐指数
1
解决办法
3757
查看次数

无法在Ubuntu 13.04上使用RVM安装Ruby on Rails

我正在尝试在我的Ubuntu机器上安装RVM.

我使用curl来获取RVM,但是一些RVM命令(安装,要求)抛出了这个apt-get错误:

There has been error while updating 'apt-get', please give it some time and try again later.
For 404 errors check your sources configured in:
    /etc/apt/sources.list
    /etc/apt/sources.list.d/*.list
Run Code Online (Sandbox Code Playgroud)

输入rvm | 头-1返回

rvm is a function
-bash: type: write error: Broken pipe
Run Code Online (Sandbox Code Playgroud)

哪个宝石

/usr/bin/gem
Run Code Online (Sandbox Code Playgroud)

我已经检查了"运行命令作为登录shell"选项

教程的步骤如下:

sudo apt-get install curl
curl -L get.rvm.io | bash -s stable --auto
. ~/.bash_profile
rvm requirements - doesn't work properly
Run Code Online (Sandbox Code Playgroud)

我也看过官方的RVM文档,但它看起来非常相似.

有任何想法吗?

更新:我设法做到了.我禁用了所有第三方ppa网址,并且顺利安装.

ruby linux ubuntu ruby-on-rails

8
推荐指数
1
解决办法
9518
查看次数

在Sails.js中处理数据库环境配置

我遇到的问题与官方文档中的以下引用有关:

注意如果模型使用了与适配器的任何连接,则无论模型是否实际使用它们,都将在sails.lift上加载与该适配器的所有连接.在上面的示例中,如果模型配置为使用localMysql连接,则localMysql和remoteMysql都将尝试在运行时进行连接.因此,最好按环境拆分连接配置并将其保存到适当的特定于环境的配置文件中,否则请注释掉任何不希望处于活动状态的连接.

如何配置生产服务器的连接?

我的connections.js文件看起来像这样:

module.exports.connections = {

  mongoDev: {
    adapter: 'sails-mongo',
    host: 'localhost',
    port: 27017,
    user: 'username',
    password: 'password',
    database: 'database'
  },

  mongoLive: {
    adapter: 'sails-mongo',
    host: 'host.mongolab.com',
    port: 31681,
    user: 'user',
    password: 'password',
    database: 'database'
  }   
};
Run Code Online (Sandbox Code Playgroud)

在我的环境配置文件我有:

development.js

module.exports = {
  models: {
    connection: 'mongoDev'
  }    
};
Run Code Online (Sandbox Code Playgroud)

production.js

module.exports = {
  models: {
     connection: 'mongoLive'
  },
  port: 3000,
};
Run Code Online (Sandbox Code Playgroud)

这适用于我的本地计算机,因为生产数据库服务器位于外部服务器上.在生产环境中我收到以下错误:

[Error: failed to connect to [localhost:27017]]
Run Code Online (Sandbox Code Playgroud)

如果我从连接对象中删除mongoDev对象,它可以工作.

我也尝试过使用adaptors.js,但这只会导致一些弃用错误.

$ sails -v
info: v0.9.9
Run Code Online (Sandbox Code Playgroud)

跑步时我会得到一些不同的东西 …

javascript database-connection node.js sails.js sails-mongo

7
推荐指数
1
解决办法
3547
查看次数

访问Ruby on Rails中的Google云端硬盘电子表格

我正在尝试获取Google云端硬盘电子表格的内容,但我似乎找不到可以轻松完成的宝石.我尝试了google-drive-ruby,但它涉及到我必须从Google网站获取身份验证令牌的步骤.这不是很有帮助,因为我必须做所有这些服务器端.显然在以前版本的gem中有一个登录方法,但是被删除了.

有没有办法做到这一点?我是否必须使用OAuth获取令牌并将该令牌传递到google-drive-ruby?

ruby ruby-on-rails oauth google-api

6
推荐指数
1
解决办法
1331
查看次数

更改回形针附件上的集成测试路径

Paperclip的文档提到您可以通过将以下代码放在test.rb环境文件中来更改测试的上载路径:

Paperclip::Attachment.default_options[:path] = "#{Rails.root}/spec/test_files/:class/:id_partition/:style.:extension"
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是附件在模型中设置了路径,不会被覆盖:

has_attached_file :photo, path: ':attachment/:id/:style.:extension'
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,文件会上传到/photo/文件夹而不是/spec/test_files/.

我可以通过编写自定义Paperclip适配器来实现这一点,但必须有一个更简单的方法.

ruby rspec file-upload ruby-on-rails paperclip

6
推荐指数
1
解决办法
314
查看次数

如何使用RSpec测试生成器

有推荐的方法用RSpec 测试Rails生成器吗?我发现的唯一解决方案是Generator Spec gem,两年内还没有更新.

ruby rspec ruby-on-rails rails-generators

6
推荐指数
1
解决办法
698
查看次数

检查是否可以使用Golang访问URL

我想创建一个简单的脚本来检查某个hostname:port是否正在运行.我只想获得一个bool响应,如果该URL是实时的,但我不确定是否有一种直接的方式来做到这一点.

http httpwebrequest go

5
推荐指数
3
解决办法
5993
查看次数

通过 RSpec 设置会话值

我当前的代码如下所示:

/spec/support/spec_test_helper.rb

module SpecTestHelper
  def login_admin
    user = FactoryGirl.create(:user, type: 0)
    session[:user_id] = user.id
  end
end
Run Code Online (Sandbox Code Playgroud)

/app/controllers/application_controller.rb

def current_user
  if session[:user_id].nil?
    render plain: 'Error', status: :unauthorized
  else
    @current_user ||= User.find(session[:user_id])
  end
end
Run Code Online (Sandbox Code Playgroud)

不幸的是,在 current_user 方法中 session 总是空的。有没有办法通过 RSpec 控制会话?

ruby session rspec ruby-on-rails

4
推荐指数
1
解决办法
5612
查看次数

在Ruby中交换字符串的一部分

Ruby中最简单的方法是将字符串的一部分与另一个值互换.假设我有一封电子邮件,我想在两个域上查看它,但我不知道哪一个我会得到它作为输入.我正在构建的应用程序应该与@ gmail.com和@ googlemail.com域一起使用.

例:

swap_string 'user@gmail.com' # >>user@googlemail.com
swap_string 'user@googlemail.com' # >>user@gmail.com
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
1
解决办法
175
查看次数