小编Car*_*ein的帖子

`before_filter'的未定义方法

尽管在下一行中明确定义了方法,但我遇到了以下错误.

undefined method `before_filter' for AuthorsController:Class
Run Code Online (Sandbox Code Playgroud)

我正在学习本教程.

代码段如下:

authors_controller.rb

class AuthorsController < ApplicationController

  before_action :set_author, only: [:show, :edit, :update, :destroy]
  before_filter :zero_authors_or_authenticated, only: [:new, :create] 

  def zero_authors_or_authenticated
    # If either one of them is true this filter won’t do anything, allowing the requested user registration form to be rendered
    unless Author.count == 0 || current_user # checking if there are either zero registered users OR if there is a user already logged in
      redirect_to root_path # if neither …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-5.1

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

如果使用 Android 后台服务,Flutter 会停留在“等待天文台端口可用”

我一直在尝试为 Flutter 编写平台代码以启动后台服务。在这里,我使用了一个没有完成实际工作的最小示例来表明应用程序根本无法运行。实际的颤振代码根本没有被修改。

主活动.java

public class MainActivity extends FlutterActivity {

  Intent i = new Intent(this, MainService.class);

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}
Run Code Online (Sandbox Code Playgroud)

主服务.java

public class MainService extends IntentService {
  public MainService() {
    super("MainService");
  }

  @Override
  protected void onHandleIntent(Intent Intent) {
  }
}
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml

 <service android:enabled="true"
android:name=".MainService"></service>
Run Code Online (Sandbox Code Playgroud)

buildVersion > 27 并且 Manifest 文件相应地service添加了标签。

编译并运行 withflutter run -v将显示以下消息:

..
[ +121 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.hello/.MainActivity (has extras)}
[   +1 …
Run Code Online (Sandbox Code Playgroud)

java android dart flutter

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

使用单一方法获取功能Java流中的主要因素?

此方法将接收Long并返回LongStream传递给方法的任何数字的素数.

factors.java

public LongStream factors(long x){
  LongStream factorStream = LongStream.range(1, x+1).filter(n -> x%n == 0);
  return factorStream;
}
Run Code Online (Sandbox Code Playgroud)

利用上述方法找到共同的因素首先是OK.

primeFactors.java

public LongStream primeFactors(long x){
  LongStream primeFactorStream = factors(x).filter(n -> factors(n).count() == 0); 
  //doesn't work as factors.java returns a LongStream, which might include non-prime factors, which will not equate to zero.
  return primeFactorStream;
}
Run Code Online (Sandbox Code Playgroud)

我理解这应该通过使用带谓词的简单isPrime()方法来轻松规避,但有没有办法为素数因子做同样的事情,但只能用一个方法?

java lambda primes functional-programming java-stream

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

Flutter:无法从Firebase身份验证中获取错误代码?

我正在尝试在我的flutter应用程序中使用Google的Firebase身份验证.但是,在处理用户登录时,我似乎找不到"代码"来区分我要处理的异常类型.

Loginhandler.dart:

class LoginHandler {
  String signup(_username, _password) async {
    bool _valid = false;
    final prefs = await SharedPreferences.getInstance();
    FirebaseAuth.instance.createUserWithEmailAndPassword(
          email: _username, password: _password)
          .catchError((e) {
            print(e);
            print(e.message);
            print(e.code);
            print(e.details);
          });
...
Run Code Online (Sandbox Code Playgroud)

错误输出:

W/BiChannelGoogleApi(26738): [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@4e727e7
W/IInputConnectionWrapper(26738): getCursorCapsMode on inactive InputConnection
I/flutter (26738): PlatformException(exception, The email address is already in use by another account., null)
I/flutter (26738): The email address is already in use by another account.
I/flutter (26738): exception
I/flutter (26738): null

I/flutter (26738): PlatformException(exception, …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

在 Flutter 中刷新小部件之外的列表视图?

我有一个 Flutter 应用程序,它由一个带有滑块和 tabview 的脚手架组成。

tabview 包含一个列表,它显示在每个选项卡上,如下图所示。

  List<Widget> widgetList = <Widget>[
    Post(),
    Feed(),
    Location(),
    HomePage(),
    Feed(),
  ];
Run Code Online (Sandbox Code Playgroud)

现在我想在移动滑块时刷新屏幕上的当前选项卡。但是,由于这些类是私有的,即_HomePageState,我不知道如何访问该refreshList()方法,如下面的代码片段所示。

主页.dart:

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => new _HomePageState();
}

class _HomePageState extends State<HomePage> {
  var list;
  var random;

  var refreshKey = GlobalKey<RefreshIndicatorState>();

  @override
  void initState() {
    super.initState();
    random = Random();
    refreshList();
  }

  Future<Null> refreshList() async {
    refreshKey.currentState?.show(atTop: false);
    await Future.delayed(Duration(seconds: 2));

    setState(() {
      list = List.generate(random.nextInt(10), (i) => "Item $i");
    });

    return null;
  } …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

将 Lodash debounce 与 React useCallback 用于输入 onChange 事件

onChange当用户在输入字段中键入内容时,我试图消除事件的反跳。

我正在引用这些线程:

我有以下代码片段,我尝试复制上面线程中提供的解决方案:

const handler = useCallback(debounce(setSearchQuery(value), 500), []);

useEffect(() => {
  document.addEventListener('keydown', handleDocumentKeyDown);
  handler(value);
  return () => document.removeEventListener('keydown', handleDocumentKeyDown);
}, [isOpen, handleDocumentKeyDown, handler, value]);

// ...

const handleChange = (event) => {
  setValue(event.target.value);
};
Run Code Online (Sandbox Code Playgroud)

错误:

未捕获的类型错误:处理程序不是函数

当用户在输入字段中键入内容时,setSerachQuery()如何消除反跳?500ms

javascript lodash reactjs react-hooks

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

在 Java 中列出 mongoDB 的数据库时对 forEach 的不明确引用

我正在按照本指南尝试设置 mongoDB 数据库。

mongoClient.listDatabaseNames().forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

getDatabaseNames() 已弃用并替换。

然而,这一行给出了以下错误:

error: reference to forEach is ambiguous
    mongoClient.listDatabaseNames().forEach(System.out::println);
                                   ^
  both method forEach(Consumer<? super T>) in Iterable and method forEach(Block<? super TResult>) in MongoIterable match
  where T,TResult are type-variables:
    T extends Object declared in interface Iterable
    TResult extends Object declared in interface MongoIterable
Run Code Online (Sandbox Code Playgroud)

文档指出 listDatabaseNames() 返回 a ListDatabasesIterable,为什么我不能遍历这个列表?

java lambda mongodb

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

从React应用程序读取kubernetes pod的configmap中设置的环境变量?

我有一个 React 应用程序,它读取几个与 API 相关的环境变量。

  1. 当在本地计算机或虚拟机上运行时,API 变量会被正确读入应用程序。
  2. 当硬编码到 React 应用程序本身时,应用程序也会运行。

但是,使用映像configmap在 Kubernetes 中创建 pod不起作用 - 应用程序运行但未设置环境变量。

pod.yaml

...
 spec:
      containers:
      - command:
        - sleep
        - "3600"
        envFrom:
        - configMapRef:
            name: configmap
        image: xxxxx
        imagePullPolicy: IfNotPresent
...
Run Code Online (Sandbox Code Playgroud)

配置图

apiVersion: v1
data:
  API_HOST: xxxxxxx
  SOME_ID: abcdef
  NODE_ENV: development
  PROVIDER: GCP
kind: ConfigMap
metadata:
  creationTimestamp: xxxx
  name: configmap
  namespace: xxxx
  resourceVersion: xxxx
  selfLink: xxxx
  uid: xxxx
Run Code Online (Sandbox Code Playgroud)

反应片段

    if(!process.env.SOME_ID) {
      console.log('ID')
    }
Run Code Online (Sandbox Code Playgroud)

我的麻烦在于将环境变量传递给 React 应用程序。我确信 Pod 中的环境变量设置正确,但客户端 React 应用程序似乎没有这些变量(即不console.log打印任何内容)。 …

reactjs kubernetes

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

将 Simple OAuth2 与 NodeJS 一起使用时,内容类型与 JSON 不兼容

我希望通过 Azure AD使用OAuth2进行身份验证。

服务器.js

const express = require("express");
const app = express();
const port = process.env.PORT || 5000;

var bodyParser = require("body-parser");

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.get("/authorize", async (req, res) => {
  const credentials = {
    client: {
      id: "xxx",
      secret: "xxx"
    },
    auth: {
      tokenHost:
        "xxx"
    }
  };

  const oauth2 = require("simple-oauth2").create(credentials);
  const tokenConfig = {
    scope: "<scope>" 
  };

  const httpOptions = {};

  try {
    const result = await oauth2.clientCredentials.getToken(
      tokenConfig,
      httpOptions
    );
    const accessToken = …
Run Code Online (Sandbox Code Playgroud)

azure node.js

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

在另一个应用程序中使用本地组件库且组件使用 ThemeProvider 时,未定义道具主题

我有两个存储库fecraft,分别是应用程序库和组件库。

两个存储库都可以自行编译。但是,当我尝试通过组件库使用组件时,如果组件本身props.themestyled-components.

Main.tsx来自fe

import React from "react";
import { Button, HeadlineOne } from "handcraft";

const Page = (props: any) => {
  console.log(props.theme);

  return (
    <>
      <Button onClick={() => {}}>Sample</Button> // This causes TypeError: Cannot read property 'primary' of undefined.
      <HeadlineOne>Sample</HeadlineOne> // This is fine.
    </>
    );
   };

export default Page.

Run Code Online (Sandbox Code Playgroud)

来自Button.tsxcraft(不行,访问 props)。

import React, { ReactNode } from "react";
import { Button as BaseButton } from "@material-ui/core"; …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs create-react-app styled-components

5
推荐指数
0
解决办法
1957
查看次数