小编Cha*_*rge的帖子

Prop在组件中标记为必需,但其值为`undefined'

single.js:

import React, { Component } from 'react';
import Details from '../components/details'
import { ProgressBar } from 'react-materialize';
import { Route, Link } from 'react-router-dom';

const Test = () => (
  <div> RENDER PAGE 1</div>
)

class SinglePage extends Component {

  constructor(props) {
    super(props);

    this.state = {
      data: null,
    }
  }

    componentDidMount() {
        fetch('http://localhost:1337/1')
      .then((res) => res.json())
      .then((json) => {
        this.setState({
          data: json,
        });
      });
    }

  render() {

    const { data } = this.state;

    return (

      <div>

        <h2> SinglePage </h2> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router react-proptypes

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

如何在Rails中使用Ruby中的外部API

我需要在我的应用程序中使用外部API才能获得公司信息.从未在Ruby中使用过API,我不知道从哪里开始.也许有一个宝石,但我发现2 API返回给我JSON:https://datainfogreffe.fr/api/v1/documentationhttps://firmapi.com/(他们在法国抱歉) .有人有一个很好的教程或提示来帮助我开始吗?

最后的需求是通过提供公司ID来检索公司数据.

api ruby-on-rails ruby-on-rails-4

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

API Rails上的获取请求不返回json

在Rails API中,我在UsersController中有一个登录POST方法,它接受2个参数(邮件和密码),如果找到记录则检入DB,如果是,则返回JSON.

  def login(mail, password)
    mail, password = params.values_at(:mail, :password)
    user = User.where(mail: mail, password: password)
    render json: user
  end
Run Code Online (Sandbox Code Playgroud)

在我的正面,在React中,我使用fetch调用此方法,该方法在表单中获取邮件和密码值,并期望在我的用户中将用户设置为JSON 'res':

  login = () => {
    if(this.state.mail != null && this.state.password != null){
        fetch('http://127.0.0.1:3001/api/login', {
            method: 'post',
            body: JSON.stringify({
                            mail: this.state.mail,
                            password: this.state.password
                        }),
            headers: {
                'Accept': 'application/json',
                'Content-type': 'application/json'
            }
        })
        .then((res) => {
            console.log(res)
            if(res.data.length === 1 ){
                const cookies = new Cookies();
                cookies.set('mercato-cookie',res.data[0].id,{path: '/'});
                this.setState({redirect: true})
            }
        })
    }    bodyUsed: false
headers: Headers {  } …
Run Code Online (Sandbox Code Playgroud)

json ruby-on-rails fetch reactjs

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

ActiveAdmin:用户模型上的member_action“批准”

我想在 ActiveAdmin 中的用户模型上添加一个名为approve的member_action。我查看了文档,但一切都不一样,我对如何做到这一点感到很困惑。到目前为止,我只显示批准链接(在“查看”、“编辑”和“删除”旁边)。

管理员/用户.rb:

member_action :approve, method: :post do
    user = User.find params[:id]
    user.approve!
    redirect_to admin_user_path(user), notice: "Approved!"
  end
Run Code Online (Sandbox Code Playgroud)

并显示链接:

actions defaults: true do |user|
    link_to 'Approve',approve_admin_user_path(user)
end
Run Code Online (Sandbox Code Playgroud)

模型/用户.rb:

def approve!
    update(bio_validee: true)
end
Run Code Online (Sandbox Code Playgroud)

当我单击链接时,出现路由错误:

No route matches [GET] "/admin/users/21/approve"
Run Code Online (Sandbox Code Playgroud)

rake routes是做什么的(对于管理员/用户路由):

approve_admin_user POST       /admin/users/:id/approve(.:format)              admin/users#approve
        batch_action_admin_users POST       /admin/users/batch_action(.:format)             admin/users#batch_action
                     admin_users GET        /admin/users(.:format)                          admin/users#index
                                 POST       /admin/users(.:format)                          admin/users#create
                  new_admin_user GET        /admin/users/new(.:format)                      admin/users#new
                 edit_admin_user GET        /admin/users/:id/edit(.:format)                 admin/users#edit
                      admin_user GET        /admin/users/:id(.:format)                      admin/users#show
                                 PATCH      /admin/users/:id(.:format)                      admin/users#update
                                 PUT        /admin/users/:id(.:format)                      admin/users#update
                                 DELETE     /admin/users/:id(.:format)                      admin/users#destroy …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails activeadmin ruby-on-rails-4

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

Geos ruby​​ - 创建点

我正在努力使用 Ruby 的 GEOS 库,我只想用 IRB 创建一个简单的点。 require geos返回 true 以便安装工作。但是我不太了解文档,在github页面上没有任何帮助。

我试过了,Geos::Point.new('POINT(0 0)')但它返回一个TypeError: allocator undefined for Geos::Point

ruby geometry geos

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

类型错误:app.address 不是函数

我正在使用 Mocha 来测试我的 API,我创建了一个文件来测试我的用户路由,这些路由包含在其自定义文件中。我还制作了一个空的 JSON 文件,它将在每次测试前后分别填充和清空。

包含测试的文件 --> user-routes.spec.js :

const request = require("supertest")
require('chai').should()
const bodyParser = require("body-parser")

const app = require('./../../app')

const usersFixture = require("../fixtures/users-fixtures")

describe('Courses', () =>{

    beforeEach(() => { usersFixture.up() })
    afterEach(() => { usersFixture.down() })

    describe('Get users list', ()=>{
        it("Should get a list of all users", ()=>{
           return  request(app).get('/courses')
                        .then((res) => {
                            // res.body.should.have.lengthOf(1)
                            // res.body[0].title.should.eql("Ma course")
                        }).catch((err)  =>{
                            console.log(err)
                            throw new Error(err);
                         })
        })
    })
})
Run Code Online (Sandbox Code Playgroud)

应用程序.js:

const mongoose = require("mongoose");
const bodyParser = …
Run Code Online (Sandbox Code Playgroud)

testing mocha.js node.js express

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

React-router-dom-链接更改URL但不呈现

我是React的新手,我已经<Link>从dy数据中转到下一个或上一个项目(例如,如果我在user / 2视图上,则上一个链接转到user / 1,下一个链接转到user / 3 ),则正确更改了url,但根本没有呈现该组件,也根本没有重新加载数据。

我读到这是由于组件未检测到子代未更改状态,因此父组件未呈现。

我尝试使用,withRouter但出现错误:You should not use <Route> or withRouter() outside a <Router>如果有人有解决方案并对此有一些解释,我不明白我在做什么,我将不胜感激:)

App.js:

import React, { Component } from 'react';
import {
  Route,
  Switch,
  withRouter,
} from 'react-router-dom';


import HomePage from './pages/home';
import SinglePage from './pages/single';

class App extends Component {



  render() {


    return (
      <Switch>
        <div>
          <Route exact path="/" component={HomePage} />
          <Route path="/:id" component={SinglePage} />
        </div>
      </Switch>
    );
  }
}

export default withRouter(App);
Run Code Online (Sandbox Code Playgroud)

Single.js:

import React, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router react-router-dom

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