小编dp7*_*dp7的帖子

PostgreSQL按另一个列值的范围自动递增列

在 PostgreSQL 中,我们可以将列定义为SERIAL,以便通过插入查询自动递增它。

这种自动增量可以通过范围到另一个列值来实现吗?

我将用下面的例子解释我的问题。

在多租户 SaaS 应用程序中,可能存在这样的情况:我们可能需要item_id为每个用户帐户增加一列(例如项目表中的列)。

示例:项目表

项目 ID | 帐户ID

100 | 100 1

101 | 101 1

102 | 102 1

100 | 100 2

对于表格格式错误表示抱歉。我希望您了解基本结构。

在上面的示例中,一旦新帐户(例如帐户 2)创建了新项目,item_id序列计数就应再次从头开始,即 100。

如果帐户1中的用户删除item_id102并创建新的项目记录,则应item_id设置为103,依此类推。

我试图找到解决方案,但无法使用谷歌搜索获得指针。因此,任何帮助将不胜感激!

PS:我知道这可以从后端代码处理,但我更想知道数据库是否有解决方案。

postgresql auto-increment

10
推荐指数
1
解决办法
2282
查看次数

Uglifier - NoMethodError:未定义的方法“start_with?” 对于 nil:NilClass

我在生产中预编译资产时遇到了NoMethodError: undefined method start_with?' for nil:NilClass错误。

这似乎是一个问题uglifier,我正在使用以下宝石:

导轨 (5.2.2)

丑化者 (4.1.9)

链轮-导轨 (3.2.1)

therubyracer (0.12.3)

日志跟踪:

** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke yarn:install (first_time)
** Execute yarn:install
yarn install v1.13.0
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.36s.
** Execute assets:precompile
rake aborted!
NoMethodError: undefined method `start_with?' for nil:NilClass
/usr/lib64/ruby/gems/2.4.0/gems/uglifier-4.1.9/lib/uglifier.rb:225:in `error_message'
/usr/lib64/ruby/gems/2.4.0/gems/uglifier-4.1.9/lib/uglifier.rb:234:in `parse_result'
/usr/lib64/ruby/gems/2.4.0/gems/uglifier-4.1.9/lib/uglifier.rb:216:in `run_uglifyjs'
/usr/lib64/ruby/gems/2.4.0/gems/uglifier-4.1.9/lib/uglifier.rb:168:in `compile'
/usr/lib64/ruby/gems/2.4.0/gems/sprockets-3.7.1/lib/sprockets/compressing.rb:65:in `block in js_compressor=' …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails asset-pipeline uglifier

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

Rails Webpacker - 未捕获的类型错误:$(...).tooltip 不是函数

我有一个 Rails 6 应用程序,并且资产是使用Webpack 4.39.1( Webpacker gem )编译的。

我在 webpack 中添加了JQuery 3.4.1和如下():Popper.jsProvidePluginconfig/webpack/environment.js

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)

我有一个javascript/packs/application.js文件,它是 webpack 的入口点。

我已将其添加Bootstrap 4.1.1并导入到application.js.

现在,我正在尝试按如下方式设置工具提示:

import "bootstrap/dist/js/bootstrap";

$( document ).ready(function() {
    $('[data-toggle="tooltip"]').tooltip({
        container: 'body',
        placement: 'auto'
    });
});
Run Code Online (Sandbox Code Playgroud)

Uncaught TypeError: $(...).tooltip is not a function在开发控制台中遇到错误。

我还检查$.fn并发现 …

javascript ruby-on-rails node.js webpack

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

Rails Webpacker - 如何从视图 [HTML 文件] 访问 webpack 入口文件中定义的对象

我有一个 Rails 6 应用程序,并使用 Webpacker 作为资产。

我在文件中有以下代码app/javascript/packs/application.js

export var Greeter = {
    hello: function() {
        console.log('hello');
    }
}
Run Code Online (Sandbox Code Playgroud)

我的一个视图 (HTML) 文件中有以下脚本:

<script>
 $(document).ready(function(){
   Greeter.hello();
 });
</script>
Run Code Online (Sandbox Code Playgroud)

注意:我正在使用 JQuery,它工作正常。

我收到以下错误:

未捕获的 ReferenceError: Greeter未定义。

我们如何使用libraryTargetlibrary公开捆绑的模块,以便也可以从 HTML 文件访问它?

或者,有没有其他方法可以使用 Rails Webpacker 做到这一点?

任何帮助将非常感激!

ruby-on-rails webpack webpacker

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

Flask PermissionError: [Errno 13] 权限被拒绝

我正在尝试使用运行 Flask 应用程序/opt/mount1/python35/bin/python3.5 notification.py,但收到以下错误:

WARNING:tensorflow:From /opt/mount1/python35/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
 * Serving Flask app "notification" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
Traceback (most recent call last):
  File "notification.py", line …
Run Code Online (Sandbox Code Playgroud)

python flask python-3.x

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

将 Bootstrap 4 与 Rails 6 Webpacker 一起使用时出错

我有一个非常简单的 Rails 6 应用程序,其中 jquery 配置如下:

配置/webpack/environment.js :

const { environment } = require('@rails/webpacker');

const webpack = require('webpack');

environment.plugins.append('Provide', new webpack.ProvidePlugin({
    $: 'jquery/dist/jquery.min',
    jQuery: 'jquery/dist/jquery.min',
    Popper: ['popper.js', 'default']
}));

module.exports = environment;
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Bootstrap。但是,我无法将任何 Bootstrap JS 方法与 JQuery 选择器一起使用。

例子:

$(document).ready(function(){
    $('[data-toggle="tooltip"]').tooltip();
});

// Error: Uncaught TypeError: $(…).tooltip is not a function
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!谢谢


解决方案

配置/webpack/environment.js :

const { environment } = require('@rails/webpacker');

const webpack = require('webpack');

environment.plugins.append('Provide', new webpack.ProvidePlugin({
    $: 'jquery',
    jQuery: 'jquery',
    Popper: ['popper.js', 'default']
}));

module.exports = environment;
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails webpack bootstrap-4 webpacker

2
推荐指数
1
解决办法
599
查看次数

Rails关注如何从InstanceMethod调用ClassMethods

我需要从实例方法调用weight_to_kg 方法.

我想为我的很多模型创建重量到kg转换器,它的重量列以磅为单位.

module WeightConvertor
  extend ActiveSupport::Concern

  def weight_kg
    # I need to call weight_to_kg method
    ClassMethods.weight_to_kg(weight) # does not work
  end

  module ClassMethods
    def weight_to_kg(weight)
    end
  end
end

class Order < ActiveRecord::Base
  include WeightConvertor
  # weight column is present
end

Order.first.weight
Order.first.weight_kg
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

ruby ruby-on-rails activesupport-concern

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