2012-08-13 6 views
1

컨트롤러가 아닌보기에서 db 값을 확인하는 것이 좋습니까? 는 지금은보기가 있습니다 (현재 3.2.6) 내 이전 레일에레일보기에서 db 값 확인

- @articles.each do |art| 
    -if art.QUANTITYM > 0 
    =art.PRICEM 
    %br 
     = art.PRICEM * @currency.currencyvalue 

3.0.9 프로젝트, 모두가 좋았다,하지만 지금은 나에게 제공합니다

정의되지 않은 메서드`> ' 전무을 위해 : NilClass

또한 컨트롤러 내 방법은 다음과 같이의 모양 :

def category 
    @type_details = Type.find_by_TYP_ID(params[:type]) 
    @search_trees = SearchTree.find(:all, :include => [:designation], :conditions => { :STR_ID_PARENT => params[:cat]}) 


    @strlookup = StrLookup.find(:all, :conditions => { :STL_STR_ID => params[:cat]}) 
    @genart = GenericArticle.all(:conditions => { :GA_ID => @strlookup.map(&:STL_GA_ID)}) 

    @type = params[:type] 
    @la_typs = LinkLaTyp.find(:all, :conditions => { :LAT_TYP_ID => params[:type], :LAT_GA_ID => @genart.map(&:GA_ID)})  


    data = "{ label : 1, children : [{label : 1},{label : 1}] }" 
    #puts JSON.pretty_generate(data) 


    if @genart.blank? 
     @articles = nil 

    else 
     @linkla = LinkArt.find(:all, :conditions => { :LA_ID => @la_typs.map(&:LAT_LA_ID), :LA_GA_ID => @genart.map(&:GA_ID)})  
     @pre_articles = Article.find(:all, :include => [:supplier], :conditions => {:ART_ID => @linkla.map(&:LA_ART_ID)}, :order => "SUPPLIERS.SUP_BRAND, ARTICLES.QUANTITYM asc") 
     @articles = Kaminari.paginate_array(@pre_articles).page(params[:page]).per(20) 
    end 


    @currency = Currency.find(:first) 

    #@cart = current_cart #NOTE THIS!!! 
    respond_to do |format| 

     format.html # index.html.erb 
     format.xml { render :xml => @search_trees } 
     #format.json { render :json => @search_trees } 
    end 
    end 

db 수량을 확인하고 표시 가격을 평가하는 뷰는 어떻게합니까? 아니면 "범죄자"이고, 컨트롤러에서해야만합니까? 컨트롤러에서이 검사를 수행하고보기에 표시하는 방법보다?

참고로,이 테이블은 매우 비쌉니다. 따라서 테이블이 많고 데이터가 많습니다.

답변

1

보기에서 확인하는 데 문제가 없습니다. art.QUANTITYMnil이므로 오류가 발생합니다. 이 오류를 방지하려면 먼저 nil인지 확인한 다음 0보다 큰지 확인해야합니다.

- if art.QUANTITYM.present? && art.QUANTITYM > 0 
+0

감사합니다. 감사합니다. allright – byCoder

+0

art.QUANTITYM.present ?, 아트 .QUANTITYM && art.QUANTITYM> 0이 작동해야하는 경우 – SKR

+0

아니요, 코드가 좋음, 코드에 대해 아프다 코드 – byCoder