2012-07-23 3 views
0

내 프로젝트에서 나는 RailsAdmin을 사용하고 있고 두 모델, Product & Product_rate를 가지고있다.'rails_admin'보석을 사용할 때 현장 응답을 변경하는 방법은 무엇입니까?

has_many :product_rates 
belongs_to :product 

rails_admin.rb의 코드 내가있는 product_rates '순위를 보여 원하는

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

이다 "필드 : 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 메서드를 추가하고 사용하는 것은 어떻습니까? 당신의 initializers/rails_admin.rb에서 다음

class Product < ActiveRecord::Base 
    has_many :product_rates 

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

:

정확하게 귀하의 질문에 대답하지 않습니다 아마
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