我正在使用OmniAuth Identity进行正常登录.Rails 3.2.3和Ruby 1.9.3p194.
目前,当现有用户尝试使用无效凭据登录时,我收到以下错误:
Started POST "/auth/identity/callback" for 127.0.0.1 at 2012-07-12 17:00:03 -0400
(identity) Callback phase initiated.
Identity Load (0.1ms) SELECT "identities".* FROM "identities" WHERE "identities"."email" = 'test' LIMIT 1
(identity) Authentication failure! invalid_credentials encountered.
OmniAuth::Error (invalid_credentials):
omniauth (1.1.0) lib/omniauth/failure_endpoint.rb:25:in `raise_out!'
omniauth (1.1.0) lib/omniauth/failure_endpoint.rb:20:in `call'
omniauth (1.1.0) lib/omniauth/failure_endpoint.rb:12:in `call'
omniauth (1.1.0) lib/omniauth/strategy.rb:457:in `fail!'
omniauth-identity (1.0.0) lib/omniauth/strategies/identity.rb:24:in `callback_phase'
omniauth (1.1.0) lib/omniauth/strategy.rb:219:in `callback_call'
omniauth (1.1.0) lib/omniauth/strategy.rb:175:in `call!'
omniauth (1.1.0) lib/omniauth/strategy.rb:157:in `call'
omniauth (1.1.0) lib/omniauth/strategy.rb:177:in `call!'
omniauth (1.1.0) lib/omniauth/strategy.rb:157:in `call'
omniauth (1.1.0) …Run Code Online (Sandbox Code Playgroud) 我有两个模块,activities和alerts.当activity加入,我想用命名空间行动派遣一个警报alerts/SHOW.
当我直接从组件调用操作时(使用createNamespacedHelpers带有命名空间的Vuex),这种方法很有效alerts.
但是当我从另一个命名空间模块调度操作时,我收到以下错误消息:
[vuex] unknown action type: SHOW
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么.
我打电话的ADD另一个动作createNamespacedHelpers的activities命名空间.我也在使用Vuex模块文档中{ root: true }指出的选项.
<template>
<button @click="addActivity(activity)"
type="button"
:disabled="activityCount >= maxActivities"
class="btn btn-secondary">{{ activity.name }}
</button>
</template>
<script>
import { createNamespacedHelpers } from "vuex";
import { ADD } from "@/store/modules/activities";
const { mapActions, mapGetters, mapState } = createNamespacedHelpers(
"activities"
);
export default {
methods: {
...mapActions({
addActivity: ADD
}) …Run Code Online (Sandbox Code Playgroud) 我正在使用react-tinymce和create-react-app(两者的最新版本).
编辑器组件安装时出现以下错误:
uncaught at handleCall TypeError: Cannot set property 'onload' of null
at p.unbindAllNativeEvents (https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=s057mcau7lzqdzu5tu3vx99qiek91pkj0od7u00dbw6kuk65:18:2293)
at p.remove (https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=s057mcau7lzqdzu5tu3vx99qiek91pkj0od7u00dbw6kuk65:20:9142)
at Object.execCommand (https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=s057mcau7lzqdzu5tu3vx99qiek91pkj0od7u00dbw6kuk65:20:19531)
at Object._remove (http://localhost:3000/static/js/bundle.js:127305:27)
at Object.componentWillUnmount (http://localhost:3000/static/js/bundle.js:127245:10)
Run Code Online (Sandbox Code Playgroud)
有问题的部分在tinymce.js中:
unbindAllNativeEvents: function() {
var a, b = this;
if (b.delegates) {
for (a in b.delegates)
b.dom.unbind(d(b, a), a, b.delegates[a]);
delete b.delegates
}
b.inline || (b.getBody().onload = null,
b.dom.unbind(b.getWin()),
b.dom.unbind(b.getDoc())),
b.dom.unbind(b.getBody()),
b.dom.unbind(b.getContainer())
}
Run Code Online (Sandbox Code Playgroud)
b.getBody()返回null.这只是间歇性地发生.有时编辑器正确加载.我应该注意到,我正在将编辑器集成到react-redux-form中,作为自定义Control组件.
render(): React.Element {
return (
<div>
<input type="file" id="image-upload-tinymce" name="single-image" …Run Code Online (Sandbox Code Playgroud) 假设您有一个简单的反应应用程序(请参阅我的代码框):
import React from 'react';
import { render } from 'react-dom';
class RenderPropComponent extends React.Component {
render() {
console.log(this.example.test());
return this.props.render();
}
}
class Example extends React.Component {
test = () => console.log('Test successful!');
render() {
return <h1>I am an example!</h1>;
}
}
const App = () => (
<RenderPropComponent
render={() => {
return (
<Example ref={node => this.example = node} />
)
}}
/>
);
render(<App />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)
这会导致错误:
TypeError
Cannot read property 'test' of undefined
Run Code Online (Sandbox Code Playgroud)
如何 …
我正在运行Vagrant(宅基地),PHP 5.5.12和Laravel 4.2.我正在尝试配置代码以使用测试环境进行验收测试(在phantomJS上运行).在宅基地上我有两个环境:本地和测试.我小心不要在默认的'testing'环境中加倍,这个环境是为PHPUnit测试保留的.
我的问题是虽然我可以使用Eloquent来实例化用户(并检索它),但我无法对该用户进行任何测试的身份验证.这使我无法运行我的测试套件,其中90%需要用户身份验证.
我在/ etc/nginx/sites-available中定义了两个站点:myapp.app和myapp.test.我将fastcgi_param APP_ENV定义为本地和测试(分别).我还在〜/ .bashrc中指定了APP_ENV,所以echo $ APP_ENV返回'local'.我创建了相应的config/test文件夹,其中包含指向测试数据库的database.php凭据.下面是默认的codeception.yml设置,以及那些被acceptance.suite.yml设置覆盖的设置(这是我专门运行的套件).
我无法在测试环境中进行身份验证.所有尝试这样做都会返回false或null.
actor: Tester
paths:
tests: tests
log: tests/_output
data: tests/_data
helpers: tests/_support
settings:
bootstrap: _bootstrap.php
colors: true
memory_limit: 1024M
modules:
config:
Db:
dsn: 'pgsql:host=localhost;dbname=myapp'
user: 'myapp'
password: 'myapp'
dump: tests/_data/dump.sql
Run Code Online (Sandbox Code Playgroud)
class_name: AcceptanceTester
modules:
enabled:
- Laravel4
- AcceptanceHelper
- WebDriver
- Db
config:
WebDriver:
url: 'http://myapp.test'
browser: phantomjs
window_size: 1024x768
Db:
dsn: 'pgsql:host=localhost;dbname=myapp_testing'
user: 'myapp_testing'
password: 'myapp_testing'
dump: tests/_data/test-dump.sql
populate: true
cleanup: false
Run Code Online (Sandbox Code Playgroud)
此接受帮助程序编译到AcceptanceTester类中,并在需要身份验证的所有Cests上的before过滤器中运行.我在这里测试了User :: create方法的输出,它确实创建了一个我可以访问的用户对象,例如,在login方法中.但是,它不会出现在我的数据库中(从Navicat查看).数据库当前是从test-dump.sql文件填充的,并且只包含没有任何数据的模式.我不确定为什么Eloquent创建方法不会写入数据库,但我最好的猜测是在测试套件运行后数据库正在回滚.
<?php …Run Code Online (Sandbox Code Playgroud) javascript ×3
reactjs ×2
codeception ×1
laravel ×1
omniauth ×1
php ×1
ruby ×1
tinymce ×1
vue.js ×1
vuex ×1