# Mvc

**URL:** <https://www.ruby-forum.com/t/mvc/165139>\
**Category:** Rails\
**Created:** [April 9, 2009, 1:56pm UTC](https://www.ruby-forum.com/t/mvc/165139 "2009-04-09T13:56:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mift99](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3be4f8/32.png) [@mift99](https://www.ruby-forum.com/u/mift99)\
**Post date:** [April 9, 2009, 1:56pm UTC](https://www.ruby-forum.com/t/mvc/165139/1 "2009-04-09T13:56:44Z")

</div>

Hi,

i am wondering about the MVC pattern, I havent worked with that for a  
long time and before I break it I would like to ask your advice…

if I have a birthday calender visible in nearly every view where would  
I put the controller? I was thinking about putting the method it into  
application controller… but how do you call that from the view?

Thanks,  
Philipp

---

<div class="post-metadata">

**Author:** ![mift99](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3be4f8/32.png) [@mift99](https://www.ruby-forum.com/u/mift99)\
**Post date:** [April 9, 2009, 2:09pm UTC](https://www.ruby-forum.com/t/mvc/165139/2 "2009-04-09T14:09:02Z")

</div>

could you explain the birthday calendar method a little better?

---

<div class="post-metadata">

**Author:** ![mift99](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3be4f8/32.png) [@mift99](https://www.ruby-forum.com/u/mift99)\
**Post date:** [April 9, 2009, 7:57pm UTC](https://www.ruby-forum.com/t/mvc/165139/3 "2009-04-09T19:57:00Z")

</div>

Thanks,

so the solution is, just for everyone else facing the same proplems,  
(at least I hope):

Write a helper method

def birthday\_helper (number\_of\_resutls)  
costumers\_with\_upcoming\_birhtday = Costumer.find\_near\_birthday  
costumers\_with\_upcoming\_birhtday= costumers\_with\_upcoming\_birhtday  
[0…number\_of\_resutls]  
end

and then call it from the view

\<% birthday\_helper(10).each do |costumer| %\>

\<%=link\_to costumer.last\_name, costumer %\> \<%=link\_to costumer.birthday, costumer %\>  
\<% end %\>

Thanks for the help!

---

<div class="post-metadata">

**Author:** ![mift99](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3be4f8/32.png) [@mift99](https://www.ruby-forum.com/u/mift99)\
**Post date:** [April 9, 2009, 9:00pm UTC](https://www.ruby-forum.com/t/mvc/165139/4 "2009-04-09T21:00:23Z")

</div>

On Apr 9, 2009, at 10:56 AM, mift99 wrote:

> and then call it from the view
> 
> \<% birthday\_helper(10).each do |costumer| %\>
> 
> \<%=link\_to costumer.last\_name, costumer %\> \<%=link\_to costumer.birthday, costumer %\>  
> \<% end %\>

You might take note that there are a lot of misspellings of  
“birthday” (birhtday), so this code won’t run, but you’ve probably  
already noticed that.

Also, why not make use of a named scope with a parameter instead of a  
helper? Such as:

class Customer  
named\_scope :upcoming\_birthdays, lambda { |number\_of\_results|  
{  
:conditions =\> { [‘your conditions for nearing birthdays’] },  
:limit =\> number\_of\_results  
}  
}  
end

Then in any controller, view or runner you could do  
Customer.upcoming\_birthdays(10)

-Kevin

---

<div class="post-metadata">

**Author:** ![mift99](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3be4f8/32.png) [@mift99](https://www.ruby-forum.com/u/mift99)\
**Post date:** [April 10, 2009, 1:56pm UTC](https://www.ruby-forum.com/t/mvc/165139/5 "2009-04-10T13:56:43Z")

</div>

Hi,

I did end up making a named scope. This feature is really nice!

Thanks guys, really helped me a lot!
