小编glo*_*esk的帖子

Ubuntu 18.04 上“安装 Rails 时出错”,因为“extconf.rb 失败”

我无法安装 Rails。

\n\n

背景:我的(全新)系统= Ubuntu 18.04,Ruby 2.6.0,安装并更新了最新的rvm和bundler。安装 Ruby 后我做的第一件事就是sudo apt install ruby-railties……sudo apt install rails我不知道为什么我不使用gem install. 在那之后,我从未成功执行过rails new,但我曾经部分执行过它,但它失败了,那就是我开始进入兔子洞的时候。

\n\n

当我输入时rails -v我得到这个:

\n\n
Traceback (most recent call last):\n    4: from /home/globewalldesk/.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in `<main>\'\n    3: from /home/globewalldesk/.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in `eval\'\n    2: from /home/globewalldesk/.rvm/gems/ruby-2.6.0/bin/rails:23:in `<main>\'\n    1: from /usr/share/rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/bundler/rubygems_integration.rb:482:in `block in replace_bin_path\'\n/usr/share/rvm/rubies/ruby-2.6.0/lib/ruby/2.6.0/bundler/rubygems_integration.rb:462:in `block in replace_bin_path\': can\'t find executable rails for gem railties. railties is not currently included in the bundle, perhaps you meant to add …
Run Code Online (Sandbox Code Playgroud)

bash installation ruby-on-rails environment-variables rvm

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

让“super”通过包含的模块调用父类

我有Boy继承 class 的类Person,并包含 module Bipedal。和Person都有.Bipedal#two_legs

module Bipedal
  def two_legs(name)
    puts "#{name} has exactly two limbs used for walking."
  end
end

class Person
  def two_legs(name)
    puts "#{name} has two human legs."
  end
end

class Boy < Person
  include Bipedal
  attr_accessor :name
  def initialize(name)
    @name = name
  end

  def two_legs
    super(@name)
  end
end
Run Code Online (Sandbox Code Playgroud)

由于该Bipedal模块包含在 中BoyBipedal#two_legs因此优先于Person#two_legs. 当我调用super实例时Boy,模块Bipedal优先于父类Person。 …

ruby inheritance superclass

5
推荐指数
1
解决办法
1363
查看次数

如何简要初始化前十个整数的数组?

我正在学习Ruby和JavaScript.偶尔我想要一个前十个整数的数组(或其他一些可预测的系列):

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

在Ruby中,是否有更快(比如内置)的方式来初始化这个数组(0..9).to_a?无论如何,这很快.

但在JavaScript中,我不知道有任何类似的快速构建方法.我可以迭代一个for循环,但我认为必须有一个更快的方法.但它是什么?

javascript ruby arrays

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

setter方法和虚方法(在Ruby中)之间有什么区别?

我正在研究Ruby并试图绕过一些词汇.在某个地方,我提到了一个概念,即setter概念也是一种虚拟方法,即它们是同义词.但现在我觉得我错了.我想知道这些与工厂方法有什么关系.救命?

维基百科说这关于虚拟方法:

在面向对象的编程中,在诸如C++的语言中,虚函数或虚方法是一种可继承和可覆盖的函数或方法,其促进了动态调度.

自去年六月以来,我一直在努力学习Ruby,我不知道这意味着什么.

我对setter方法有一个更好的概念.我一直在想它只是设置实例变量值的任何方法.所以attr_writer :foo是一个setter方法,也许一个改变值的类外部的方法foo也可能是一个setter方法.是对的吗?

但这不是"虚拟方法"的意思,是吗?所以基本上,我正在寻找差异的解释,我找不到任何(或者,我不能理解).

所谓的"工厂方法"也可以被描述为从类外部创建特定类型的对象(由setter方法集合指定)的方法(即,定义类的代码)?

ruby setter virtual-functions terminology

3
推荐指数
2
解决办法
402
查看次数

可以使用Nightwatch来测试Rails吗?

我们的创业公司的承包商安装了基于Selenium的Nightwatch测试框架,因为我们的堆栈是React-heavy.但他告诉我它甚至可以用来测试我们的Rails代码.相反,一位新的承包商表示,守夜人无法对我们的Rails控制器和模型进行单元测试(这对我来说很有意义).

谁是对的?你是否认为第一个程序员只是考虑到我们会进行端到端测试(某些输入导致某些输出),而我们不需要测试Rails代码的细节?我怀疑并且作为新的承包商断言,如果我们想要成为TDD商店,我们是否需要RSpec或其他一些基于Ruby的测试框架来处理我们的Rails代码?

ruby selenium rspec ruby-on-rails nightwatch.js

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