2010-04-27 88 views
3

我有幾個型號:如何在沒有模型的情況下創建控制器和動作?

  • 電子郵件
  • 呼叫

所有這三個屬於一個模型運動。以及宣傳的has_many聯繫

我設想能夠通過轉到域/進度看今日的時間表/今天

我想它做的是顯示所有的活動(電子郵件什麼,信,電話)今天必須發生的每個活動。

我嘗試了以下方法,但將它放入控制器與放入View中有一些挑戰。廣告系列中有很多電子郵件。

Email.days是電子郵件應發送給聯繫人的contact.start_date的天數。

ScheduleController < 

def index 

    campaigns.each do |campaign| #goes through each campaign 

     for contacts in campaign.contacts 

     Email.find(:all).reject { |email| email.contact.start_date + email.days <= Date.now } 


     end 
    end 

end 
+0

您不需要爲控制器或任何模型提供相應的模型。你有什麼問題? – Anurag 2010-04-27 19:00:59

+0

我得到一個錯誤,說「身份證」是錯誤的...... 我如何實際上循環通過電子郵件......我需要添加一些東西后的塊? – Angela 2010-04-28 02:19:19

回答

5

你實際上是在問錯誤的問題。控制器沒有從根本上與任何模型鏈接,他們確實顯示任何你想要的。您可以顯示所有的酒吧和提供有關貓的信息一DogController一個FooController的..

解決你的問題:

  1. 與 你的觀點你不「分享」什麼爲它顯示。
  2. 你也把邏輯在 錯誤的地方,你也不會真正 取出由 數據庫中的活動..

在你的控制器,你需要獲取從數據庫中的數據:

def index 
    @campaigns = Campaign.all #share the list of campaigns with the view 
end 

在你看來,你顯示活動信息..

<% for campaign in @campaigns %> 
<!-- display info about the campaign --> 

    <% for contacts in campaign.contacts %> 
<!-- contact level info and so on.. --> 

    <% end %> 
<% end %> 

還有更多,但希望這可以讓你指出正確的方向。

+0

是的,我改變了這一點......我回想起來的是,我是否需要將所有這些循環放在視圖中,而不是放入控制器。 – Angela 2010-04-28 02:18:27

+0

我想那個很難的部分是圍繞實際的電子郵件進入循環。我有一個.find方法...但我可以有多個電子郵件...我會這樣做自動循環通過? – Angela 2010-04-28 02:19:56

+0

是的,爲了補充說明,我創建了一個名爲Schedule的控制器,以及一個名爲Today,使用def Today結尾的操作,它表示它期望一個ID ... – Angela 2010-04-28 05:50:11

相關問題