2012-03-15 38 views
0

https://github.com/rails-sqlserver/activerecord-sqlserver-adapter使用Rails-SQLSERVER適配器在Rails應用程序

真棒工具來顯示數據,我插入一個SQLServer 2008年小麻煩和 計算出如何執行從鐵軌控制檯SP,但我不」知道哪裏 從這裏去:(

這似乎是一個愚蠢的問題要問,但我是很新, 發展,使任何幫助將不勝感激!!

以下是我跑了來自控制檯的SP(PD_DE_getSegmentProfile):

$ PdDeSegmentMaster.execute_procedure :PD_DE_getSegmentProfile, 23, 'all' 

Execute Procedure (49.6ms) EXEC PD_DE_getSegmentProfile 23, 'all' 
=> [{"segment_code"=>"23", "profile_element"=>"age_range", 
"Value"=>"35-54"}, {"segment_code"=>"23", 
"profile_element"=>"avg_HH_size", "Value"=>"4.10"} 

我知道這是一個哈希,但我不知道如何把它從我的應用程序調用,在視圖中,等等 顯示它。我並不是真的關心存儲 它,因爲我可以回想起SP再次獲得它。我在哪裏將 SP調用放在應用程序中?控制器?模型?

database.yml,externaldb.rb(模型)和建立連接所需的基礎都很好,只需要將返回的哈希移動到HTML。

回答

1

最好將業務邏輯轉換爲模型。

讓我們假設你正在使用的控制器 「PdDeSegmentMastersController」

class PdDeSegmentMasterController < ActionController 
    def get_segment_profile 
    @segment_profiles = PdDeSegmentMaster.get_segment_profile 
    end 
end 

在模型中 「PdDeSegmentMaster」

class PdDeSegmentMaster < ActiveRecord::Base 
#write a method to execute you stored procedure 
    def self.get_segment_profile 
    self.execute_procedure :PD_DE_getSegmentProfile, 23, 'all' 
    end 
end 

在你看來 「get_segment_profile.html.erb」

<% if @segment_profiles.present? %> 
<table> 
<tr> 
    <th>segment_code</th> 
    <th>profile_element</th> 
    <th>Value</th> 
</tr> 
<% @segment_profiles.each do | segment_profile| %> 
    <tr> 
    <td><%= segment_profile["segment_code"] %></td> 
    <td><%= segment_profile["profile_element"] %></td> 
    <td><%= segment_profile["Value"] %></td> 
    </tr> 
<% end %> 
</table> 
<% else %> 
<h1>No segment profiles found!</h1> 
<% end %> 

讓我知道你是否還有任何障礙。

+0

哇真的很好的例子,非常感謝! – wantrapreneur 2012-03-15 15:59:19

相關問題