Ruby on rails 如何根据重量分配访客
在我的应用程序中,我有模型Ruby on rails 如何根据重量分配访客,ruby-on-rails,ruby,ruby-on-rails-4,model,Ruby On Rails,Ruby,Ruby On Rails 4,Model,在我的应用程序中,我有模型Post和Image&我对图像使用嵌套的_属性 class Post < ActiveRecord::Base has_many :images accepts_nested_attributes_for :images, reject_if: :all_blank, allow_destroy: true class Image < ActiveRecord::Base belongs_to :post, :counter_cache =&g
Post
和Image
&我对图像使用嵌套的_属性
class Post < ActiveRecord::Base
has_many :images
accepts_nested_attributes_for :images, reject_if: :all_blank, allow_destroy: true
class Image < ActiveRecord::Base
belongs_to :post, :counter_cache => true
这很好,但我要寻找的是根据我添加到每个图像中的权重来分配访问者
默认的权重
可以是10。例如,我在那篇文章上有6张图片&权重是:
Image 1 => weight 10
Image 2 => weight 20
Image 3 => weight 50
Image 4 => weight 30
Image 5 => weight 60
Image 6 => weight 10
我想要实现的是,根据图像权重
将访问者分配到每个图像,这样图像5
将获得大部分访问者,但我们仍然将访问者发送到图像1
&其他图像
我还没有在图像中添加权重
,因此可以将其更改为任何需要的内容。我使用了这个gem
:。我做了一些测试,效果很好
唯一重要的是,您的数组
,必须看起来像一个散列
:
{'object-1' => weight, 'object-2' => weight, 'object-3' => weight, 'object-4' => weight}
我的代码:
我用了这个gem
:。我做了一些测试,效果很好
唯一重要的是,您的数组
,必须看起来像一个散列
:
{'object-1' => weight, 'object-2' => weight, 'object-3' => weight, 'object-4' => weight}
我的代码:
看这里:有多种解决方案,取决于性能需求看这里:有多种解决方案,取决于性能需求
suits = @post.images.pluck(:id, :weight).to_h