2014-02-11 25 views
0

我試圖在搜索參數去使用結果從選擇如何使用類似參數的選擇?

SELECT distinct policy_business_unit_id as number FROM `policies` WHERE (policy_business_unit_id ='2') 

這個條件顯示

number 
    2 

我想在我的PARAM狀態下使用「2」。

SELECT distinct policy_business_unit_id as number FROM `policies` WHERE (policy_business_unit_id ='2') 
    SELECT * FROM `cia_ensures` WHERE (id = 2) 

,但我發現這個

SELECT * FROM `cia_ensures` WHERE (id = NULL)  

我的表:

|cia_ensures| 
    |id| |name| 
    1  aaa 
    2  bbb 
    3  ccc 
    ... 

|policy_business_units| 
    |id| |name| 
    1  abc 
    2  def 
    3  ghi 
    ... 

|policies| 
    |id| |number| |policy_business_unit_id| 
    1  1234    2 
    2  5678    1 
    3  9123    2 
    4  4567    1  
    ... 

這裏是控制器:

def ajax 
    @business = PolicyBusinessUnit.find(:all) 
    @select = Policy.find(:all,:select=>['distinct policy_business_unit_id as number'],:conditions=>['policy_business_unit_id = ?',params[:business] ])  
    @list_cias = CiaEnsure.find(:all,:conditions=>['id = ?',@select]) 
    end 

這裏是模型:

class Policy < ActiveRecord::Base 
     belongs_to :cia_ensure 
    end 

    class CiaEnsure < ActiveRecord::Base 
     has_many :policies 
    end 

這裏是視圖:

Business: 
    <%= select_tag "business",options_for_select(@list_cias.collect {|t| [t.name.to_s ,t.id]}, params[:business].to_i) %> 

    Cias: 
    <%= select_tag "cias",options_for_select(@business.collect {|t| [t.name.to_s ,t.id]}, params[:cias].to_i) %> 

我試圖做的是:

 @business = PolicyBusinessUnit.find(:all) 
    @select = Policy.find(:all,:select=>['distinct policy_business_unit_id as number'],:conditions=>['policy_business_unit_id = ?',params[:business] ])  
    @list_cias = CiaEnsure.find(:all,:conditions=>['id = ?',@select[0].try(:number) ]) 

這裏是我的日誌:

##### HERE I SHOULD HAVE THE NUMBER 2 
    SELECT distinct policy_business_unit_id FROM `policies` WHERE (policy_business_unit_id ='2') 

    ##### I WANT TO USE NUMBER 2 
    SELECT * FROM `cia_ensures` WHERE (id = NULL) 

請有人可以幫助我?

回答

1

當你給

@list_cias = CiaEnsure.find(:all,:conditions=>['id = ?',@select[0].try(:number) ]) 

你確定@select[0]包含響應:number一個對象?

你能爲我們提供@select變量嗎?

PS:如果你正在使用什麼比rails 2.3更新請restyle你AR查詢

+0

感謝的人,當我試圖不工作,但我重新啓動我的控制檯,現在正在工作。 =) 謝謝。 –

相關問題