2016-03-09 76 views
0

我有一個模型POSTS。在這個模型中我有兩個示波器active,inactive。我想根據params[:active]的值使用其中的一個PostsController。像以下如何在兩個條件之間使用一個範圍?

if params[:active] == "true" 
@posts = POSTS.where some_condition 
     .include some_thing 
     .active 
     .page 
     .per 
else 
    @posts = POSTS.where some_condition 
     .include 
     .inactive 
     .page 
     .per 
end 

有沒有更好的方法來做同樣的事情?我嘗試了很多方法來做到這一點。但我不能。幫我。謝謝

回答

4
@posts = POSTS.where some_condition 
       .include some_thing 
       .public_send(params[:active] == "true" ? :active : :inactive) 
       .page 
       .per 

Object#public_send

+0

非常感謝。它的工作。 –

+1

當然是的。不用謝。 – mudasobwa

相關問題