Ответы пользователя по тегу Ruby on Rails
  • Где задается переменная ENV["RAILS_MAX_THREADS"]?

    @undefined_title
    env - enviroment, переменная окружения, если у тебя линукс задай ее в командной строке, если локально можешь как то так:
    touch .secrets.sh echo "export RAILS_MAX_THREADS=YOUR_MAX_THREADS" >> .secrets.sh && source .secrets.sh
    Ответ написан
  • Как связать модели Ruby on Rails на ReactJS?

    @undefined_title
    В реакт приложениях для хранения данных используется библиотека redux, сами запросы надо делать в действиях(action), для того чтобы бороться с асинхронностью и правильно делать запросы используй redux-thunk или redux-api-middleware, если в body ответа от сервера ты получаешь не те данные которые тебе надо, то это проблема именно на сервере. У тебя должен быть эндпоинт /api/user/:id где ты можешь получить юзера, и в обьекте юзера должен быть post_id c id поста, и ты бы мог получить его например на /api/post/:id, но если тебе надо сделать на скорую руку делай без редакса и в ComponentDidMout через fetch стягивай данные, в es6 будет что то такое
    constructor(props) {
      super(props);
      this.state = {
        post: {
          user: {}
        }
      }
    }
    ComponentDidMount() {
      const { postID } = this.props;
      let data = fetch('localhost:3000/post/' + postID)
        .then((response) => { 
          this.setState({post: JSON.stringify(response.json)}, (prevState) => {
            fetch('localhost:3000/user/' + prevState.post.user_id)
            .then ((response) => {
              this.setState({ ...prevState, user:  JSON.stringify(response.json)});
            });
          });
        });
    }
    render () {
      return (
        <div>
          {this.state.post.user.name}
        </div>
      )
    }

    еще надо заметить что на сервере должно быть разрешение CORS Для этого клиента
    Ответ написан
    Комментировать
  • Почему и зачем вместе с Ruby on Rails используют Angular или React.js?

    @undefined_title
    Когда на клиенте нужен SPA, все должно работать без перезагрузки страницы, или много много действий с DOM, тогда отдельно пишут фронтенд и бекенд, потому что если использовать тот же ajax при дальнейшей разработке приложения будет тяжело поддерживать. Советую учить-использовать React-Redux, сейчас такая связка на фронтенде очень популярна из за компонентного подхода и использования данных по flux идеи.
    Ответ написан
    1 комментарий