2012-07-23 42 views
0

在我的项目中,我使用的是RailsAdmin,并且有两个型号,产品& Product_rate。当我使用gem'rails_admin'时如何更改字段的答案?

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.

任何帮助表示赞赏。谢谢

回答

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 
+0

哦,老兄。是对的吗?让我试试这个。谢谢! – JeskTop 2012-07-29 03:23:55

相关问题