• Как правильно сделать поддержку доменов 3-го уровня (RoR)?

    gejarufu
    @gejarufu Автор вопроса
    Сделал следующее на локальной машине. Поставил Passenger.
    В итоге при попытке зайте как на адрес admin.example.com так и на динамический адрес foo.example.com выдает "Server not found".

    nginx.conf
    server {
      listen 80;
      server_name www.example.com;
      rewrite ^(.*) http://example.com$1 permanent;
    }
    
    server {
      listen 80;
      server_name example.com *.example.com;
      root my/public;
    
      rails_env development;
      passenger_enabled on;
    
      charset utf-8;
    }


    Hosts file
    127.0.0.1 example.com
    127.0.0.1 *.example.com

    routes.rb
    constraints :subdomain => 'admin' do
      namespace :admin, path: '' do
        root 'blogs#index'
      end
    end
    
    get ':link', to: 'blogs#show', constraints: { subdomain: /.+/ }

    в routes.rb :link это friendly_id
    Ответ написан
  • Как отправить POST запрос при сортировке элементов на странице (Nestable)?

    gejarufu
    @gejarufu Автор вопроса
    Пробую возродить вопрос.
    Сделал так. Может можно как-то массив сразу передать без преобразования?
    $('.dd').on('change', function() {
     url = $(this).data('update-url'),
     array = $(this).nestable('serialize'),
     $.ajax({
       dataType: 'json',
       url: url,
       type: 'post',
       data: {id: array}
       })
     )
    });

    В POST запросе

    Parameters
    id[0][id] 1
    id[1][id] 2

    Source
    id%5B0%5D%5Bid%5D=1&id%5B1%5D%5Bid%5D=2

    Но потом падает на второй строчку в методе с ошибкой
    Mysql2::Error: Truncated incorrect DOUBLE value:
    def sort
    	params[:id].each_with_index do |id, index|
    		Page.where(id: id).update_all({position: index+1})
    	end
            render nothing: true
    end


    В методе, я так понял, сортировка у меня будет работать только для одномерных массивов. Как правильно разруливать в методе дочерние элементы?
    Ответ написан
  • Как сделать форму "Заказать звонок" без перезагрузки страницы?

    gejarufu
    @gejarufu
    Я делал что-то похожее. Только не использовал js вьюху а отправлял сразу с контроллера.
    Но никак не смог сделать его рабочим.

    что-то вроде
    @message = Message.new(params[:message])
    @company = Company.friendly.find(params[:name])
    
    if @message.valid?
    	UserMailer.call(@company).deliver
    	render json: @message, status: :ok
    else
    	render json: @message.errors, status: :unprocessable_entity
    end


    Каким образом можно достать @company? пишет Couldn't find Company without an ID.
    Используя гем FriendlyId, соответвенно в модели без таблицы не получается подключить FriendlyId, пишет undefined method `relation' for class `Class'.
    Ответ написан
    Комментировать