2017-02-08 56 views
0

我在我的代碼產品控制器這樣情況下使用參數鍵軌道

def index 
if params[:tag] 
     #do filter based on tag 
else 
    if params[:category] 
     #do filter based on category 
    else 
     #default. no filter    
    end 
end 
end 

它做工精細。如何使用大小寫來實現相同的功能?我可以得到它的工作

case <something?> 
when <tag?> 
    #do filter based on tag 
when <category?> 
    #do filter based on category 
else 
    #default  
end 

回答

1

這將做

def index 
    case 
    when params[:tag] 
    # Do filter based on tag 
    when params[:category] 
    # Do filter based on category 
    else 
    # Default. no filter    
    end 
end 
+0

是啊!奇蹟般有效。不知道我們並不總是必須在案件陳述後加上一些東西。謝謝你,先生 :) – Aipack

0
puts case variable 
when 1 
    # variable value 1 for tag 
    #do filter based on tag 
when 2 
    # variable value 2 for category 
    #do filter based on category 
else 
    #default. no filter 
end 

簡單的語法case語句是

case expr0 
when expr1, expr2 
    stmt1 
when expr3, expr4 
    stmt2 
else 
    stmt3 
end