小编Nic*_*nov的帖子

如何在Thinking Sphinx中使用多值属性(MVA)和方面?

我有rails 3应用程序与模型:

class Event < ActiveRecord::Base
  has_many :event_categories
  has_many :categories, through: :event_categories
end

class EventCategory < ActiveRecord::Base
  belongs_to :category
  belongs_to :event
end

class Category < ActiveRecord::Base
  belongs_to :parent, class_name: 'Category'
  has_many :subcategories, class_name: 'Category', foreign_key: :parent_id
end
Run Code Online (Sandbox Code Playgroud)

我需要按类别过滤事件并使用计数呈现类别树:

Music Festivals (10) # id: 1
-- Classic (2)       # id: 3
-- Pop (8)           # id: 8
IT Conferences (2)   # id: 10
-- Ruby (1)          # id: 11
-- PHP (1)           # id: 12
...
Run Code Online (Sandbox Code Playgroud)

我试着这样做:

define_index do
  has category_values, …
Run Code Online (Sandbox Code Playgroud)

search ruby-on-rails thinking-sphinx facets

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

Intl.NumberFormat.prototype.format() 中的默认舍入策略

我想了解使用Intl.NumberFormat.prototype.format()时隐式发生的小数舍入行为。格式函数的 MDN 文档缺乏对该行为的清晰描述。

我们以下面这段代码为例:

const amount = 654321.985;
const formattedAmount = new Intl.NumberFormat('en-EN', {
    style: 'currency',
    currency: 'EUR',
}).format(amount);

console.log(formattedAmount); // => €654,321.99
Run Code Online (Sandbox Code Playgroud)

这种情况下的舍入策略是什么,它取决于什么?我认为涉及许多因素,例如浏览器、语言环境和货币,但找不到对此的确认。

玩弄这个示例后,我可以看到小数部分向上舍入一分,而对于以下任何部分,即.9849变为.98. 该策略似乎遵循nearest integer, ties to even规则。同时,我明白考虑到ECMAScript 规范,逻辑可能会更复杂。

javascript decimal ecmascript-6

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

如何以更优雅的方式写下这三个案例?

我希望这种逻辑能够以更优雅和紧凑的方式编写,在我看来,我错过了一些东西:

if value < min_rate
  min_rate
elsif value > max_rate
  max_rate
else
  value
end
Run Code Online (Sandbox Code Playgroud)

ruby coding-style conditional-statements

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

将 vscode 附加到 ssh 服务器上正在运行的容器

我已成功连接到 VS Code 中的 ssh 服务器Remote-SSH。我可以将 VS Code 终端附加到服务器上正在运行的容器,但无法将 VS Code 编辑器本身附加到正在运行的容器。

当我尝试执行时Attach Visual Studio Code,它显示没有正在运行的容器。如何将 VS Code 指向在远程服务器上运行的容器列表?

ssh docker visual-studio-code vscode-remote

5
推荐指数
0
解决办法
74
查看次数