I have several models:
All three belong to a model Campaign. And a Campaign has_many Contacts
I envision being able to see a schedule for Today by going to domain/schedule/today
What I'd like it to do would be to show all the Events (Email, Letter, Call) that have to happen today for each campaign.
I tried the following, but have some challenges in putting it into a controller versus into a View. There are many emails in campaign.
Email.days is the number of days from the contact.start_date that an email should be sent to the Contact.
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
You're actually asking the wrong question.. Controllers aren't linked to any model fundamentally, they really display whatever you want. You can have a FooController that displays all the Bars and a DogController that gives info about cats..
To solve your problem:
In your controller you need to fetch the data from the DB:
def index
@campaigns = Campaign.all #share the list of campaigns with the view
end
In your view you display the campaign info..
<% for campaign in @campaigns %>
<!-- display info about the campaign -->
<% for contacts in campaign.contacts %>
<!-- contact level info and so on.. -->
<% end %>
<% end %>
There's much more to it, but hopefully this gets you pointed in the right direction.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With