我已经将我的rails应用程序配置为包含Sidekiq,并添加了适当的路由来查看web UI。我可以在开发中看到sidekiq仪表板,但在生产中看不到它。这是我的routes.rb文件:
require 'sidekiq/web'
Rails.application.routes.draw do
...
authenticate :user, lambda { |u| u.super_user? } do
mount Sidekiq::Web => '/sidekiq'
end
我根据中的规范添加了身份验证。我还将sinatra g
我有一个Rails 6.0.3.5API,我不使用Devise进行身份验证。当我试图访问sidekiq UI时,它会大喊:
Sidekiq::Web needs a valid Rack session for CSRF protection. If this is a Rails app, make sure you mount Sidekiq::Web *inside* your application routes: Rails.application.routes.draw do mount Sidekiq::Web => "/sidekiq" .... end
Resque/Sidekiq带有一个web前端,这是Sinatra的一个应用程序。
将其挂载到Rails应用程序的方法是将其添加到路由():
mount Sidekiq::Web, at: "/sidekiq"
如何将其挂载到Padrino应用程序中?与其他机架应用程序一样,在config.ru中映射它不起作用
map '/sidekiq' do
run Sidekiq::Web
end
这个问题可能有点微不足道,但我是rails新手。我使用JWT使用对api用户进行身份验证,我的routes.rb如下所示:
Rails.application.routes.draw do
resources :news_articles
mount Knock::Engine => "/sessions"
end
根据敲门文档,它创建了一个路由'POST /sessions/auth_token',我如何通过rails conf将'POST /sessions/auth_token‘别名为'POST /sessions’?
我正在编写一个可安装的Rails 3引擎,我正在将我的引擎的路径与主机的应用程序结合起来,然而,主机应用程序的路径优先于我的引擎的路径。有什么方法可以覆盖主机应用程序的路由(特别是根路由)?
这是我在my_enging/config/routes.rb的引擎路线
MyEngine::Engine.routes.draw do
root :to => "home#index"
end
# Mount engine routes to host application
Rails.application.routes.draw do
mount MyEngine::E
我有问题,试图添加一个静态子域,同时也运行公寓gem..
从本质上讲,我想要做的事情如下:
constraints subdomain: 'docs' do
get 'some/page'
end
但是,当我将这段代码放在我的路由文件中并试图转到docs.mysite.co时,我得到了以下错误:
Apartment::TenantNotFound at /
One of the following schema(s) is invalid: "docs" "public", "shared_extensions
我创建了一个带有新闻模块的简单应用程序,并将新闻定义为一个单独的可挂载引擎(它也将用于其他项目)。我需要有能力挂载的管理和用户部分的引擎作为父应用程序上的单独路由。现在我可以将整个引擎挂载为
Rails.application.routes.draw do
mount Jnews::Engine => "/news"
end
但我想分开的管理和家长应用程序上的用户路由作为用户的/news和管理员的/admin/news。这个是可能的吗?
我正在开发一个创业板,它也是一个Rails::Engine。
我希望引擎将一个自定义中间件添加到主机应用程序中,并且我已经用以下代码完成了这一工作
module MyModule
class Engine < ::Rails::Engine
isolate_namespace MyModule
initializer "my_gem.middleware" do |app|
app.config.app_middleware.use "MyModule::MyMiddleware"
end
end
end
但是
Sidekiq未能从config/ file kiq.yml中的默认配置文件开始。
---
:pidfile: tmp/pids/sidekiq.pid
:logfile: log/sidekiq.log
在rails应用程序根中运行bundle exec sidekiq -d时,它报告错误:
You really should set a logfile if you're going to daemonize.
/home/canoe/.rvm/gems/ruby-2.0.0-p353@rails4/gems/sidekiq-2.17.2/lib/sidekiq/cli.rb:14
我有一个Sidekiq员工,该员工的目的是执行社会行为(例如:Facebook上的页面)。其中一部分要求知道所喜欢的对象的URL。
幸运的是,Rails 3通过在任何类或模块中包含Rails.application.routes.url_helpers来访问特定于应用程序的路由变得非常容易,因为它需要访问路径/url助手方法。
我遇到的问题是,我的默认url/端口无法从我的Sidekiq工作器中访问,尽管我曾多次尝试在我的development.rb或production.rb中定义它们。
class Facebook::LikeRecipeWorker
include Sidekiq::
我用rails plugin new my_plugin创建了一个rails插件。我想让我的插件创建一个映射到插件中的控制器/方法的路由。
我遵循了这个关于如何从一个插件中创建一个路由。但这是针对Rails 2.x的,而我使用的是Rails 6,所以我最终得到了以下错误:
uninitialized constant ActionController::Routing (NameError)
如何让我的插件创建一个映射到插件内部方法的路由?类似于:
# A new route set by my plugin
post '/my_plugin', controller:
我是Rails和Sidekiq的新手。我想将这个删除请求设置为在Sidekiq队列中完成,我不知道如何将它发送到执行方法,我将把Book模型发送到执行方法
我的控制器操作代码
def destroy
BaseWorkerJob.perform_async(Book)
end
我的BaseWorkerJob类代码
class BaseWorkerJob
include Sidekiq::Job
sidekiq_options retry:0
def perform(book)
# Do something
book.find(params[:id]).