私の見解では、モデルで定義された非常に複雑なメソッドがあります。
def self.current_rating(recommendation_id, rating_set, product_id)
if !Recommendation.find(recommendation_id).ratings.find_by_rating_set(rating_set).nil?
Recommendation.find(recommendation_id).ratings.find_by_rating_set(rating_set).rating.to_i
elsif !Recommendation.find(recommendation_id).ratings.find_by_product_id(product_id).nil?
Recommendation.find(recommendation_id).ratings.find_by_product_id(product_id).rating.to_i
else
end
end
そして私の見解では、私は次のように呼びます。
:selected => Rating.current_rating(rec.id,params[:rating_set_id], params[:product_id])
私のselect_tag
。
基本的に、最初の検索から何かが返されるかどうnil
か、2番目の検索から何かが返されるかどうか、そしてそれが何も返されないかどうかを確認したいと思いnil
ます。これをより良い/より構文的にするためにどのようにリファクタリングできますか?