小编cod*_*aks的帖子

从导轨上拆下链轮

如何从 Rails 上移除链轮?

我有..

  • 移除了所有链轮宝石。
  • config.assets.*从初始值设定项等中删除所有。

尽管如此,Rails 仍在寻找链轮

/Users/username/.rvm/rubies/ruby-2.5.0/lib/ruby/gems/2.5.0/gems/sprockets-rails-3.2.1/lib/sprockets/railtie.rb:105:in block in <class:Railtie>': Expected to find a manifest file in `app/assets/config/manifest.js (Sprockets::Railtie::ManifestNeededError)
Run Code Online (Sandbox Code Playgroud)

......

 Example:
13:58:38 web.1  |   //= link_tree ../images
13:58:38 web.1  |   //= link_directory ../javascripts .js
13:58:38 web.1  |   //= link_directory ../stylesheets .css
Run Code Online (Sandbox Code Playgroud)

你实际上是如何移除链轮的?

ruby-on-rails sprockets

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

如何删除 Sidekiq 预定作业?

我遇到了一个问题,我不知道如何删除 sidekiq 计划的作业我尝试了很多方法但没有成功

下面是我的代码:-

class UpdatePopularityWorker
  include Sidekiq::Worker
  sidekiq_options queue: 'es_sync'

  def perform(city_id=nil)
    clear_popularity_jobs(city_id) 
    time = ENV['UPDATE_POPULARITY'].present? ? ENV['UPDATE_POPULARITY'].to_i : 60.minutes
    UpdatePopularityWorker.perform_in(time, city_id)
  end

  private

  def clear_popularity_jobs(city_id) 
    queued_jobs = Sidekiq::ScheduledSet.new("es_sync")
    jobs = queued_jobs.select{|retri| 
      retri.args == 'UpdatePopularityWorker' 
    }
    jobs.each(&:delete)
  end
end
Run Code Online (Sandbox Code Playgroud)

但执行后我收到以下错误:-

{"context":"Job raised exception","job":{"class":"UpdatePopularityWorker","args":[],"retry":true,"queue":"es_sync","jid":"db75d1e92933dfad69449dfa","created_at":1568050410.422802,"enqueued_at":1568050410.423174,"error_message":"wrong number of arguments (given 1, expected 0)"
Run Code Online (Sandbox Code Playgroud)

当我尝试在控制台中执行时,我也会收到错误参数的错误:-

Sidekiq::ScheduledSet.new("es_sync")
ArgumentError: wrong number of arguments (given 1, expected 0)
Run Code Online (Sandbox Code Playgroud)

请有人建议或帮助我解决这种情况。提前致谢 :)

ruby-on-rails sidekiq

6
推荐指数
2
解决办法
8356
查看次数

rake db:create 使用 postgresql 抛出“数据库不存在”错误

我正在使用 Rails 5.2.2.1 和 postgresql 10.6,并且无法在我的开发环境中创建数据库。当我跑步时

bin/rake db:create
Run Code Online (Sandbox Code Playgroud)

或者

bundle exec rake db:create
Run Code Online (Sandbox Code Playgroud)

我明白了

rake aborted!
ActiveRecord::NoDatabaseError: FATAL:  database "mplaces_dev" does not exist
/home/user/.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:696:in `rescue in connect'
/home/user/.rvm/gems/ruby-2.5.3/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:691:in `connect'    
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建数据库,因此它自然不存在。然而,rails 应该创建它......这是我的 config/database.yml:

development:
 adapter: postgis
 database: mplaces_dev
 encoding: unicode
 username: postgres
 password: postgres
 host: localhost
 postgis_extension: true
 schema_search_path: "public,postgis"
Run Code Online (Sandbox Code Playgroud)

不过我也创建了所有扩展。我已经研究了一个多小时了,但仍然不明白为什么会发生这种情况......

谢谢!

postgresql ruby-on-rails-5

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

如何在 rails 6 中将 i18n-js 与 webpacker 一起使用?

我刚刚切换到使用 Webpacker gem 的 Rails 6 (6.0.0.rc1)。我想在我的一些模块中使用 i18n-js 进行翻译。如何使用 webpacker 在我的应用程序中配置 i18n?

ruby-on-rails

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

在 Rails 应用程序中使用外部脚本时出现 Javascript null 错误

我正在使用来自广告服务提供商的横幅广告,类似于 google adsense。他们网站的说明清楚而简单地说明我们需要做的就是将以下代码复制到我们的网页正文中

<!-- Begin Hsoub Ads Ad Place code -->
<script type="text/javascript"><!--
  hsoub_adplace = [my account id];
  hsoub_adplace_size = '728x90';
//--></script>
<script src="http://ads2.hsoub.com/show.js" type="text/javascript"></script>
<!-- End Hsoub Ads Ad Place code -->
Run Code Online (Sandbox Code Playgroud)

我已复制并粘贴到我的 rails 应用程序中,在视图文件的主体内,但没有显示横幅,我可以看到 javascript 错误(使用浏览器检查源)

类型错误:document.getElementById(...) 为空

ps:在旧浏览器上会显示横幅,但不会在最新版本的浏览器上显示。

ps2:多次确认hsoub的支持,他们这边没有问题(他们的代码很好,可以在数千个网站上运行,我的帐户处于活动状态没有问题)。这一定是我的代码有问题。我在想 Rails 处理 javascript 的方式……你能帮我解决这个错误并显示横幅吗?

ps3:我正在使用导轨6.0.1和涡轮链接5.2.0

您可以在https://tafqit.com/在线检查错误/源代码

javascript ruby-on-rails turbolinks

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

如何使用 webpacker/Rails 要求 select2?

我一直在通过 CDN 使用 select2。我开始将 CDN 迁移到使用 webpacker gem。我偶然发现了一个困难,我无法导入/要求或以任何方式包含它。所以这是我的设置:

我已经通过以下步骤迁移了 select2:

  • 纱线添加选择2

下面是我的 environment.js 文件(这是配置文件,webpacker 用来配置 webpack):

const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.append(
    'Provide',
    new webpack.ProvidePlugin({
        $: 'jquery/src/jquery',
        jQuery: 'jquery/src/jquery',
        Popper: ['popper.js', 'default']
    })
)
module.exports = environment
Run Code Online (Sandbox Code Playgroud)

环境.js

require("select2")
Run Code Online (Sandbox Code Playgroud)

我尝试了各种要求和许多其他方法,但这些似乎都不起作用。请指教。谢谢你。

ruby-on-rails webpack

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