0

在我的项目中,我使用 RailsAdmin 并有两个模型,Product 和 Product_rate。

has_many :product_rates
belongs_to :product

rails_admin.rb 中的代码是

config.model Product do
  ....
  list do
    field :product_rates
  end

我想在“字段:product_rates”中显示 product_rates 的排名。product_rate 模型如下所示。

class ProductRate < ActiveRecord::Base
  belongs_to :product
  attr_accessible :rank, :product_id
end

最好的结果可以显示排名和。例如:产品 XX 的排名是 0,1,0,2。我想在 product_rates 中显示排名和,即 3。

任何帮助表示赞赏。谢谢

4

1 回答 1

0

您如何在模型中添加一个total_rank方法Product并使用它。

class Product < ActiveRecord::Base
  has_many :product_rates

  def total_rank
    product_rates.map(&:rank).inject(:+)
  end
end

然后在你的initializers/rails_admin.rb

config.model Product do
  ....
  list do
    field :total_rank do
      label "Rating"
    end
  end

也许这并不能完全回答你的问题。根据文档,也许您想尝试这样的事情..

 list do
   field :product_rating do
     formatted_value do # used in form views
       value.map(&:rank).inject(:+)  # I'm assuming the value is an array of products
     end
   end
 end
于 2012-07-24T05:38:57.867 回答