小编Sun*_*Cho的帖子

从 Rails.application.routes.url_helpers 访问引擎路由

我想知道如何使用Rails.application.routes.url_helpers.

我有一个工厂对象,它创建一个包含动态生成的 url 的字符串。目前,我可以使用Rails.application.routes.url_helpers.(INSERT PATH NAME).

但是,它只能访问主应用程序中的路由。我无法访问安装在主应用程序上的引擎的路线。

我尝试过的事情

  1. 我尝试使用Rails.application.routes.engine_namewhereengine_name是引擎安装在主应用程序上的名称。

  2. 我试图用来MyEngine::Engine.routes.url_helpers访问引擎中的路由。它的工作原理,但我想用Rails.application.routes.url_helpers,因为有很多工厂对象像这样的,他们都是从超类继承delgatesurl_helperRails.application.routes

有什么建议?如果需要澄清,请告诉我。

ruby-on-rails

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

将 Express 实例发送到 http.createServer

我从 Node.js文档中看到它http.createServer带有一个requestListener参数。据我所知,requestListener这是一个自动添加到request事件中的函数。

我想知道如何传递一个express实例http.createServer

var express = require('express');
var app = express();
var server = require('http').createServer(app)
Run Code Online (Sandbox Code Playgroud)

如何app成为 requestListener?它是一个函数吗?我想我不确定 . 返回的内容是什么express()

node.js express

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

使用Sidekiq时,Date对象变为String

我有一个问题,当我将一些Date对象作为参数传递给不同的方法时,它们变成了String.

在我的Rails应用程序中,有一个服务调用Sidekiq worker来执行模型中的方法.

初始化服务对象时,它具有Date实例方法.我已经使用调试器确认了它们的类型.

它使用实例方法传递给Sidekiq worker perform_async.该perform方法是Sidekiq是调用在一个模型中的方法,通过它从服务到模型接收参数的一条线方法.

在模型方面,从Sidekiq工作者传入的参数不再是Date类型.它们是String(例如"2015-01-20").我用degugger证实了这一点.

有关为什么会发生这种情况的任何想法?

ruby ruby-on-rails sidekiq

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

使用 Express 提供 svg 文件

我想知道如何使用 Express 提供 svg 文件。

这是我到目前为止所做的尝试:

svg 文件

<svg width="400" height="180">
  <g>
    <rect x="50" y="20" rx="20" ry="20" width="150" height="150"
      style="fill:red;stroke: black;stroke-width:5;opacity:0.5"></rect>
  </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

路线文件

var express = require('express');
var router = express.Router();

router.get('/myRoute', function (req, res, next) {
  res.setHeader('Content-Type', 'image/svg+xml');
  res.sendFile('../views/status.svg');
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

但是当我将浏览器指向该路线时,出现以下错误:

This page contains the following errors:

error on line 1 at column 103: Opening and ending tag mismatch: link line 0 and head
Below is a rendering of the page up to the first …
Run Code Online (Sandbox Code Playgroud)

svg node.js express

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

iOS中的iOS BackgroundFetch相当于Android

我想知道是否有适用于iOS BackgroundFetch功能的Android版本.

我希望我的Android应用程序使用Cordova每15分钟左右醒来并检查更新并执行其他一些其他任务.

在iOS中,我可以使用cordova-background-fetch插件完成此操作.

由于该插件没有Android版本,我很乐意自己编写; 但我首先想知道如何在Android中实现这样的功能.有什么建议?

android ios cordova

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

反应性能:绑定与匿名函数

我想知道bind在React组件中使用和匿名函数之间是否存在性能差异.

具体而言,下列其中一项是否比另一种更高效?

const MyComponent = ({ myHandler }) => {
  ...
  return (
    <a onClick={myHandler.bind(this, foo, bar)} ...>
      hello world
    </a>
  );
}

const MyComponent = ({ myHandler }) => {
  ...
  return (
    <a
      onClick={() => {
        myHandler(this, foo, bar)
      }
      ...
    >
      hello world
    </a>
  );
}
Run Code Online (Sandbox Code Playgroud)

这个问题与可能的重复不同,因为可能的重复问题的答案集中在内存占用上.

javascript reactjs

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

在gorm的'FROM'中使用子查询

我想知道如何使用gorm在FROM子句中使用子查询。它看起来像下面的样子:

SELECT * FROM 
(
  SELECT foo.*
  FROM foo
  WHERE bar = "baz"
) AS t1
WHERE t1.id = 1;
Run Code Online (Sandbox Code Playgroud)

我已经使用golang构建了子查询:

db.Model(Foo{}).Where("bar = ?", "baz")
Run Code Online (Sandbox Code Playgroud)

但是,如何将其用作in中的子查询FROM

如果有一种方法可以将gorm查询转换为SQL字符串,那么我可以简单地将该字符串插入原始SQL。但是似乎没有这种方法。有什么建议么?

go go-gorm

5
推荐指数
2
解决办法
4448
查看次数

根据当前状态反应setState

setState如果我想根据当前状态更新状态,我想知道使用哪种形式.

React setState将对象或函数作为参数.据我所知,由于React批次,以下内容无法正常工作setState

state = {score : 0};

increaseScoreBy2 () {
 this.setState({score : this.state.score + 1});
 this.setState({score : this.state.score + 1});
}
Run Code Online (Sandbox Code Playgroud)

而且最好使用

increaseScoreBy2 () {
 this.setState(prevState => { return { score: prevState.score + 2 }}});
}
Run Code Online (Sandbox Code Playgroud)

但是如果我想做的就是一次更新状态,setState应该使用哪种形式?这是个人偏好的问题吗?或者我们是否应该在根据当前状态更新状态时始终使用函数形式以避免任何可能的意外行为?

例如,以下代码有什么问题吗?

const newRegions = this.state.regions.map(...)
this.setState({ regions: newRegions });
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

React组件是否会深入比较道具以检查是否需要重新渲染?

我想知道React.Component在尝试确定是否需要重新渲染时,React组件是否会深度比较对象.

例如,给定

const Foo = ({ bar }) => {
  return <div>{bar.baz}</div>
}

class App extends React.Component {
  constructor() {
    super()
    this.state = { bar: { baz: 1} }
  }

  render() {
    return <Foo bar={this.state.bar} />
  }
}
Run Code Online (Sandbox Code Playgroud)

如果在里面App,状态bar变为{baz: 2},是否会<Foo />比较先前的道具bar和新收到的道具?

顺便提一下,PureComponent的文档

扩展PureComponent ...或者,考虑使用不可变对象来促进嵌套数据的快速比较.

但是没有详细介绍.有任何想法吗?

javascript reactjs

5
推荐指数
2
解决办法
4436
查看次数

反应性能:匿名函数vs命名函数vs方法

我想知道,在React.js中,在声明匿名函数,命名函数或组件中的方法之间是否存在性能差异.

具体而言,下列其中一项是否比其他项目更具性能?

class MyComponent extends React.Component {
  render() {
    return (
      <input
        type="text"
        value={foo}
        onChange={(e) => {
          this.setState({ foo: e.target.value });
        }}
      />
    );
  }
}
Run Code Online (Sandbox Code Playgroud)
class MyComponent extends React.Component {
  ...
  render() {
    function handleChange(e) {
      this.setState({ foo: e.target.value });
    }
    return (
      <input
        type="text"
        value={foo}
        onChange={handleChange}
      />
    );
  }
}
Run Code Online (Sandbox Code Playgroud)
class MyComponent extends React.Component {
    ...
    handleChange(e) {
      this.setState({ foo: e.target.value });
    }

    render() {
      return (
        <input
          type="text"
          value={foo}
          onChange={this.handleChange}
        />
      );
    }

}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

4
推荐指数
2
解决办法
4281
查看次数

标签 统计

javascript ×4

reactjs ×4

express ×2

node.js ×2

ruby-on-rails ×2

android ×1

cordova ×1

go ×1

go-gorm ×1

ios ×1

ruby ×1

sidekiq ×1

svg ×1