Domanda

Ho una semplice app di binari con server resque montato routes.rb come

require 'resque/server'
require 'resque_scheduler'


    MyApp::Application.routes.draw do

        authenticate :user do
            mount Resque::Server.new, :at => "/tasks"
        end
        ...
        ...

Montato l'app nei percorsi per utilizzare l'autenticazione basata su idei. In produzione, tuttavia, le risorse non vengono caricate per il server Resque mentre le risorse per il carico dell'app principale delle rotaie.

È stato utile?

Soluzione

Dopo essersi guardato intorno, ha funzionato per me con nginx e sottile:

require 'resque/server'

class SecuredResqueServer < Resque::Server
  set :static, true
  set :root, Resque::Server.root
end

Il file dei percorsi sembra segue:

    require 'resque/server'
    require 'resque_scheduler'
    require './app/secured_resque_server'


    MyApp::Application.routes.draw do
    ...
    ...
    authenticate :user do
        mount SecuredResqueServer.new, :at => "/tasks"
    end
    ...
    ...

e cambiare

config.action_dispatch.x_sendfile_header = "X-Sendfile"

in produzione.rb to

config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'

In terzo luogo, in alcuni casi Nginx è configurato per i binari come segue:

server{
        ...
        ...
        location ~*\.(jpeg|jpg|gif|png|ico|css|bmp|js)$ {
                root /PATH_TO_APP/public;
        }
        ...
        ...
      }

Dove Path_to_app è il percorso della directory radice dell'applicazione. Tale dichiarazione di posizione impedisce il caricamento di attività da qualsiasi altra posizione per un'app o un motore a rastrello montato. Questo pertanto, deve essere rimosso/commentato.

Infine, non dimenticare di fare un Ctrl+F5 per forzare ricaricare la pagina :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top