小编Ash*_*kar的帖子

ES6 语法,和声模式必须启用 Uglifier.new(:harmony => true

我正面临这个问题

Uglifier::Error: Unexpected token: keyword (const). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true). 在生产中通过 capistrano 部署项目时。

我遵循了这个解决方案

https://github.com/lautis/uglifier/issues/127#issuecomment-352224986

这表明

替换

config.assets.js_compressor = :uglifier

config.assets.js_compressor = Uglifier.new(harmony: true)

但即使这样做了,我仍然面临同样的错误。我不明白出了什么问题。我正在使用uglifier (4.1.20)版本

ruby ruby-on-rails uglifier

27
推荐指数
3
解决办法
7206
查看次数

从ruby中的数组中删除尾随的nil值

我有一个像这样的数组:

[["a", nil, nil, nil], ["b", nil, "c", nil], [nil, nil, nil, nil]]
Run Code Online (Sandbox Code Playgroud)

我想从ruby中的数组中删除所有尾随的nil值.

我试过arr.map {|x| x.pop until x.last}但这个方法的问题是,当给定数组中的第3个数组中的数组的所有值都为零时,循环卡住了.

由于until x.last条件,如果所有的值都是nil那么map函数应该返回一个空数组?

应该是什么条件.

输出应该是

[['a'],['b','nil','c'],[]]
Run Code Online (Sandbox Code Playgroud)

请记住,我只想删除nil不在之间的尾随值.

ruby arrays ruby-on-rails

11
推荐指数
2
解决办法
698
查看次数

控制器类在什么时候在Rails Web应用程序中实例化控制器对象?

学习Rails,控制器实例化的点对我来说是不清楚的,而模型实例化的点在某种程度上是可识别的,例如,当用户在from中输入数据并单击提交按钮时是一种触发器这导致了对象模型的创建.

完成了一些研究,我在脑海中可视化,当通过浏览器发送HTTP请求时,到控制器的路由成为从控制器类实例化某个控制器对象的触发器.

这有点正确吗?

ruby oop ruby-on-rails object object-lifetime

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

在订阅方法之外获取变量数据

我想为用户路由实现canActivate,然后再检查访问令牌是否仍然有效。因此,我实现了这样的事情

export class AuthGuard implements CanActivate {
  data:Array<Object>;
  constructor(private base: BaseService){}

  canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot): boolean {

    var session: any = { token: localStorage.getItem('abc') };   

    this.base.valid(session).subscribe(result => {
      this.data=result;
      console.log(this.data); <-- first 
    });

    console.log(this.data); <-- second
    return true;
  }
}
Run Code Online (Sandbox Code Playgroud)

在这里,当我进行控制台操作时,可以在subscribe方法中获取数据变量,但是在此方法之外是给定undefined值。如何在方法之外访问它。

angular angular4-httpclient angular-guards

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

从哈希循环中跳过密钥

我正在对哈希值执行操作,可以说:

hash = { a: true, b: false, c: nil }
Run Code Online (Sandbox Code Playgroud)

我正在执行each循环,hash但我想跳过键bc。我不想从 中删除这些hash

我努力了:

hash = { a: true, b: false, c: nil}
hash.except(:c)
{ a: true, b: false, c: nil}
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我在用ruby 2.4.2

ruby hash ruby-on-rails

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

在ruby中包含字符串中的特定字母

让我们说我有

str = "ashishjambhulkar"
Run Code Online (Sandbox Code Playgroud)

而且我想要"a""j"结果进入后才进行大写

str = "ashishjAmbhulkar"
Run Code Online (Sandbox Code Playgroud)

我怎么能用红宝石做到这一点?

我尝试过这样的事情

"ashishjambhulkar".split(//).map{ |x| x=="a" ? "A":x }.join('')
Run Code Online (Sandbox Code Playgroud)

但它会更新a给定字符串中的所有内容.

ruby string

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