当我使用gem'rail_admin'时如何更改字段的答案?

时间:2012-07-23 08:21:30

标签: ruby-on-rails ruby sum field rails-admin

在我的项目中,我使用的是RailsAdmin,有两个型号,Product& Product_rate。

has_many :product_rates
belongs_to :product

rails_admin.rb中的代码是

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

我想在“field: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。

感谢任何帮助。感谢

1 个答案:

答案 0 :(得分: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

也许这并不能完全回答你的问题。 According to the docs也许你想尝试这样的事情......

 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