小编Ker*_*ick的帖子

如何将变量传递给ruby中的system()调用?

假设我在变量中有一堆文本some_var,这几乎可以是任何东西.

some_var = "Hello, I'm a \"fancy\" variable | with a pipe, double- and single-quotes (terminated and unterminated), and more."
Run Code Online (Sandbox Code Playgroud)

我们还要说,在CLI Ruby应用程序中,我想允许用户将该文本传递给任何Unix命令.我允许他们输入类似的东西some_var | espeak -a 200 -v en-us,其中管道右侧的命令是在他们的系统上安装的任何unix CLI工具.

我们还要说我已经将变量选择和管道分离出来了,所以我确切地知道管道后面的命令是100%.(在这种情况下,我想将变量的内容传递给espeak -a 200 -v en-us.)

我该怎么做?我认为我不能使用反引号方法或%x[]文字.我试过做以下事情......

system("echo '#{some_var}' | espeak -a 200 -v en-us")
Run Code Online (Sandbox Code Playgroud)

...但是任何特殊字符搞砸了,我无法删除特殊字符.我该怎么办?

ruby unix command-line command-line-interface

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

如何从Ember数据适配器转换到路由

在我的应用程序,我有一个ApplicationAdapter,其ajaxError方法是定制的.在该方法中,我希望能够转换到给定的路线.我怎样才能做到这一点?

App.ApplicationAdapter = DS.RESTAdapter.extend({
    ajaxError: function(jqXHR) {
        var error = this._super(jqXHR);
        if (jqXHR) {
            switch(jqXHR.status) {
            // [...]
            case 401:
                // How can I transitionTo('login') here?
            }
            // [...]
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript ember.js ember-data

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

如何根据异步关系在Ember Data模型上执行Ember.js计算属性?

我有一个Ember Data模型,我正在尝试根据async hasMany关系的属性执行计算属性.出于某种原因,它似乎永远不会重新计算.我该怎么做呢?

代码:

export default DS.Model.extend({
    splits: DS.hasMany('split', { async: true }),
    amount: Ember.reduceComputed('splits.@each.amount', {
        initialValue: 0,
        addedItem: function(accValue, split) { return accValue + split.get('amount'); },
        removedItem: function(accValue, split) { return accValue - split.get('amount'); }
    })
    /* Neither of these work either.
    amount: Ember.computed.sum('splits.@each.amount') // This doesn't work
    amount: Ember.computed('splits.@each.amount', function() {
        return this.get('splits').reduce(function(pValue, split) {
            return pValue + split.get('amount');
        }, 0);
    })
    */
});
Run Code Online (Sandbox Code Playgroud)

失败的测试(预期1350,得到0):

import { test, moduleForModel } from 'ember-qunit';
import Transaction …
Run Code Online (Sandbox Code Playgroud)

ember.js ember-data

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

如何在Ember.js中创建计算属性以查看单个Ember Data属性是否为脏?

我试过在Ember Data 1.13.16模型上创建一个计算属性,如下所示:

export default DS.Model.extend({
  name: DS.attr('string'),
  isNameDirty: Ember.computed('name', 'hasDirtyAttributes', function() {
    return !!this.changedAttributes()['name'];
  })
});
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,在调用model.save()属性之后永远不会重新计算为false,即使name不再存在changedAttributes().如何使此计算属性有效?

这是一个简化的测试用例:https://ember-twiddle.com/87b1af7abfb103554cb2?openFiles = model.author.js%2C

javascript ember.js ember-data computed-properties

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

如何使用vanilla JavaScript获取这些jQuery结果?

有没有人知道如何获得相当于jQuery .offset().closest()没有JavaScript库的东西?

因为.closest(),如果我知道爬上DOM树有多远,我可以使用那么多.parentNodes,但如果我不知道要走多远,我就会陷入困境.

javascript jquery

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

奇怪的错误:未捕获TypeError:对象[对象HTMLElement]没有方法'getAttribute'

当我运行这一行JavaScript时,我得到了上述错误(并且thisMaxNode包含一个具有属性data-max="10"或其他数字的HTML Element对象):

var thisMax = parseFloat(thisMaxNode.getAttribute('data-max'));
Run Code Online (Sandbox Code Playgroud)

HTMLElement对象究竟应该具有什么方法getAttribute

javascript

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

在PHP中,为什么人们为$ _GET和$ _POST数据分配另一个变量名?

我想这是一个风格问题.为什么人们会遇到用PHP 分配变量$_GET$_POST数据的麻烦?例如,为什么这样做:

<?php
    $name = $_GET['name'];
    echo $name;
?>
Run Code Online (Sandbox Code Playgroud)

什么时候你可以这样做呢?

<?php
    echo $_GET['name'];
?>
Run Code Online (Sandbox Code Playgroud)

php coding-style

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

为什么我的变量会自行重置?

我有一个我为我的网站构建的图像滑块,我设置为每3秒滑动一次(诊断后会慢一点,但我不想等待10秒钟才能看到错误).我也设置它,以便在它自动滑动之前,它检查toSlide变量是否设置为1(默认).当用户单击下一个/上一个链接或某个幻灯片时,它会设置toSlide为0.

我的问题是它再次自动滑动,然后设置toSlide回1,我无法弄清楚原因.请问有人帮帮我吗?

你可以在我的网站上看到HTML ,这里是Javascript:

//Featured Work Image Slider
// sC = sliderCount
// sA = slideAmount
// pH = pictureHeight
// sT = slideTime
var sC = 1;
var pH = 364;
var sT = 364
var toSlide = 1;
function slide(ms) {
    $('#featured-box li').stop().animate({'top':sA},ms);
    $('.sN').css({color:'#598dbe'});
    $('#sN'+sC).css({color:'#464646'});
    $('#fD > div').fadeOut(ms,function(){
        $(this).css({display:'none'});
    });
    $('#fD-'+sC).fadeIn(ms,function(){
        $('#fD-'+sC).css({display:'block'});
    });
    console.log(toSlide);
}
function autoSlide(ms) {
    if(sC < 4) {
        sC++;
        sA = -(sC - 1) * pH; …
Run Code Online (Sandbox Code Playgroud)

html javascript variables jquery

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

TypeScript 编译器认为具有类型索引的递归联合类型是字符串?

链接到 TypeScript Playground

interface Model {
  [key: string]: string | number | boolean | Model | Model[];
}
interface ApiResponse {
  [key: string]: Model[];
}
async function main(): Promise<void> {
  const r = await api('foos_and_bars');
  console.log(r.bars[0].baz.name); //  Problem
  console.log(r.foos[0].fuzzies[1].name); // Implicit any
}
main();
async function api(endpoint: string): Promise<ApiResponse> {
  // Faked response:
  return {
    foos: [ { name: 'Foo 1', fuzzies: [{ name: 'Fuzzy 1' }, { name: 'Fuzzy 2'}] } ],
    bars: [ { name: 'Bar 1', baz: …
Run Code Online (Sandbox Code Playgroud)

typescript

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